Académique Documents
Professionnel Documents
Culture Documents
NET
Par Ccile Muno
- Christian Marchal
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
I - En quelques mots................................................................................................................................................... 3
I-a - Comment a marche ?................................................................................................................................... 3
I-b - Domaine d'application.................................................................................................................................... 3
I-c - Grer la scurit.............................................................................................................................................3
II - Tlchargement et installation............................................................................................................................... 3
III - Intgration dans votre application.........................................................................................................................7
III-a - Etape 1 : les rfrences............................................................................................................................... 7
III-b - Etape 2 : crer un rfrentiel....................................................................................................................... 9
III-c - Etape 3 : crons notre application..............................................................................................................13
III-d - Etape 4 : dfinir l'application scuriser................................................................................................... 19
III-e - Etape 5 : les fichiers de configuration........................................................................................................20
IV - Dfinition des permissions, jeu de permissions, rles....................................................................................... 21
IV-a - Etape 1 : les permissions et leurs actions.................................................................................................21
IV-b - Etape 2 : jeu de permission.......................................................................................................................25
IV-c - Etape 3 : les rles...................................................................................................................................... 27
IV-d - Etape 4 : les utilisateurs............................................................................................................................ 28
V - Conclusion........................................................................................................................................................... 32
VI - Remerciements................................................................................................................................................... 33
VII - Tlchargements............................................................................................................................................... 33
-2-
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
I - En quelques mots
I-a - Comment a marche ?
Une vue trs simplifie du fonctionnement de
Visual Guard.NET,
Novalys
Vous allez pouvoir constater grce au test sur une application simple que Visual Guard s'utilise en deux temps :
Nous allons aussi essayer de vous montrer simplement avec quelle facilit il est possible de crer plusieurs types
d'utilisateurs et un grand nombre de permissions varies pour chaque type.
II - Tlchargement et installation
Vous devez avoir install le framework NET 1.0 ou 1.1 pour que Visual Guard puisse fonctionner. Le test suivant a
t ralis avec le framework 1.1 et Visual Basic 2003.
Vous pouvez obtenir une version d'valuation en anglais cette adresse :
Request a trial version en vous
inscrivant.
L'installation de Visual Guard s'effectue partir d'un Setup classique. Lancer le Setup et parcourez les crans dcrits :
-3-
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
-4-
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
Si vous cliquez sur "Disk cost", un cran de gestion de votre espace disque sera affich :
L'installeur est maintenant prt pour configurer l'installation, il vous suffit de confirmer en cliquant sur "Next" :
-5-
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
-6-
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
L'installation est maintenant termine. La dernire mise en garde de l'installeur a toute son importance pour la suite
du test car il faut imprativement que votre framework soit jour. Si vous n'tes pas certain d'tre jour, excutez
Windows Update.
Dans le menu Dmarrer de votre ordinateur, vous devez retrouver cette configuration :
-7-
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
o :
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
et comme demand dans cet cran, crer le rfrentiel vers votre application. Pour cela, il y a deux manires de
procder :
Soit un "clic" droit sur Visual Guard Console et "Add Repository"
-9-
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
Cliquez sur "Next" et suivez les crans en choisissant de crer un nouveau rfrentiel ainsi que le dossier de
destination.
- 10 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
- 11 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
L'tape suivante est trs importante car elle permet de dfinir quel sera l'utilisateur par dfaut qui pourra administrer
ce rfrentiel. A la fin de l'assistant, Visual Guard crera cet utilisateur dans le rfrentiel Visual Guard et lui donnera
les droits d'administration.
Attention, ce mot de passe est important, ne l'oubliez pas, sinon vous ne pourrez plus accder au rfrentiel
par la suite.
Pour terminer, cliquez sur "Finish" et nommez votre rfrentiel. Ici, nous allons choisir le nom "Dvp".
- 12 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
Enfin, connectez-vous "Dvp" en double-cliquant dessus et en introduisant votre login et password, en l'occurence
dans notre exemple "Administrator" et "1234" :
Nous dsirons attirer votre attention sur le fait que nous avons test ce programme diffremment de l'exemple
livr avec Visual Guard. En effet, reproduire un exemple existant dj n'tait pas trs reprsentatif d'un test "grandeur
nature".
Nous avons dcider de travailler :
avec une base de donnes en Access (NorthWind.mdb) plutt que SQL Server
directement dans le code pour l'exploitation de cette base de donnes et non via l'assistant de Visual Basic
- 13 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
Afin de poursuivre l'implmentation de Visual Guard, nous devons crer l'bauche de notre application. En effet, vous
verrez au point suivant que nous avons besoin de rfrencer un excutable.
Il est bien vident que Visual Guard est applicable des projets dj existants. Les seules modifications importantes
raliser consistent rfrencer Visual Guard et pouvoir dterminer quel utilisateur se connecte.
L'application est cre dans un rpertoire nomm C:\VG sous la dnomination WinTestVG. Afin de permettre
diffrents tests d'accs aux donnes, nous avons dessin :
1. Une feuille concernant la Clientle "FrmClient"
- 14 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
Toutes ces feuilles ayant une apparence trs classique quant la navigation au niveau des donnes d'une socit.
Jusque l, rien de spcial !
4. Ensuite, nous avons aussi cr une feuille MDI "MDIDemarrage" trs simple comprenant un menu "Fichier" et un
lien vers nos feuilles existantes
Vous pouvez constatez que, suivant la manire dont on se connecte, certaines parties de ce menu sont inaccessibles.
But avou de la scurisation via Visual Guard.
5. Pour la connexion, vous pouvez crer vous-mme une feuille de "Login" classique. Personnellement, nous avons
dcid d'utiliser celle implmente dans Visual Guard :
- 15 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
Si vous crez votre propre feuille et, en supposant que vous y placiez un bouton de validation appel "BtnOK",
il est indispensable d'insrer ce code :
Imports Novalys.VisualGuard.Security
D'abord, ne pas oublier d'appeler la classe Novalys ncessaire pour coder nos besoins de scurit et de connexion
(ci-dessus). Ensuite, dans l'vnement "clic" du bouton "OK", le code suivant :
Private Sub BtnOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnOk.clic
Dim state As VGAuthenticationState = VGSecurityManager.Authenticate(userTextBox.Text,
passwordTextBox.Text)
If state.IsFailed() Then
Me.DialogResult = DialogResult.None
If state.IsCanceled() Then Return
If state.IsCredentialInvalid() Then
If state.IsLastBadLogin() Then
MessageBox.Show("Le nom de l'utilisateur ou le mot de passe est incorrect" & _
Environment.NewLine & "Impossible de continuer.")
Else
MessageBox.Show("Le nom de l'utilisateur ou le mot de passe est incorrect")
End If
ElseIf state.IsUserNotAuthorized() Then
MessageBox.Show( _
"Vous n'tes pas authentifi en tant qu'utilisateur pour l'application")
ElseIf state.IsUserAccountExpired() Then
MessageBox.Show("Votre compte et votre mot de passe ne sont plus valides. " & _
Environment.NewLine & "Contactez votre administrateur")
ElseIf state.IsUserAccountNotYetAvailable() Then
MessageBox.Show("Votre compte et votre mot de passe ne sont pas disponibles.")
ElseIf state.IsUserAccountLocked() Then
MessageBox.Show("Votre compte est bloqu. " & _
Environment.NewLine & "Contactez votre administrateur.")
End If
Else
Me.DialogResult = DialogResult.OK
If state.IsPasswordSecure() Then
Return
ElseIf state.IsLastGraceLogon() Then
MessageBox.Show("Vous devez changer votre mot de passe")
Dim form As FrmChangePassword = New FrmChangePassword
form.ShowDialog()
Else
MessageBox.Show("Votre mot de passe n'est pas suffisamment scuris. " & _
Environment.NewLine & "N'oubliez pas de le modifier.")
End If
End If
End Sub
- 16 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
Ce code permet d'envoyer le mot de passe et le nom de l'utilisateur vers la scurit gre par Novalys et d'afficher
les diffrents messages suivant la rponse reue :
1
N'oubliez pas de crer aussi une feuille style "FrmChangePassword" pour donner la possibilit l'utilisateur de
modifier son compte suivant les messages d'erreur rencontrs.
6. Dernire petite fentre : "FrmUserList". Elle est compose d'une simple ListBox dans laquelle seront lists les rles
accessibles certains utilisateurs. Vous verrez comment crer ces rles dans la suite du tutoriel.
7. Pour dmarrer l'application, nous allons utiliser un module pour rfrencer la scurit de notre application. Il est
bien vident que ce module sera aussi le point d'entre lors de l'excution.
Commenons par ne pas oublier les rfrences de classes :
Imports Novalys.VisualGuard.Security
Imports Novalys.VisualGuard.Security.WinForm
Imports Novalys.VisualGuard.Security.Authentication.VGNamePasswordCredential
Ensuite, le code ci-aprs va simplement appeler la feuille de connexion intgre et selon le retour, l'application peut
se poursuivre ou non.
- 17 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
Module Demarrage
Public Sub Main()
AddHandler VGSecurityManager.SecurityError, AddressOf OnSecurityError
AddHandler VGSecurityManager.PermissionsLoading, AddressOf OnPermissionLoading
Application.EnableVisualStyles()
Application.DoEvents()
Dim login As New Novalys.VisualGuard.Security.WinForm.VGLoginForm
login.ResetText()
login.HeaderTitle = "Test de Visual Guard"
If login.ShowDialog() = DialogResult.OK Then
login.Dispose()
Application.Run(New MDIDemarrage)
End If
End Sub
'Permet de lever toutes les erreurs interceptes par Visual Guard et demander une confirmation
' l'utilisateur avant de gnrer une exception
Private Sub OnSecurityError(ByVal sender As Object, ByVal e As VGSecurityErrorEventArgs)
If MessageBox.Show("Une action de scurit est invalide dans Visual Guard" & _
Environment.NewLine & "The following error occured:" & Environment.NewLine & _
e.Exception.Message & Environment.NewLine & Environment.NewLine & _
"Do you want to continue?", "Visual Guard error", MessageBoxButtons.YesNo, _
MessageBoxIcon.Error, MessageBoxDefaultButton.Button2) = DialogResult.Yes Then
e.Continue = True
End If
End Sub
'Permet l'utilisateur de slection un rle dans une liste de rles
Private Sub OnPermissionLoading(ByVal sender As Object, ByVal e As VGPermissionsLoadingEventArgs)
If e.Roles.Length > 1 Then
Dim form As New FrmUserList
form.Roles = e.Roles
If form.ShowDialog() = DialogResult.OK Then
e.Roles = form.Roles
e.Status = VGAuthorizationStatus.Success
Else
e.Status = VGAuthorizationStatus.Failure Or VGAuthorizationStatus.ProcessCanceled
End If
End If
End Sub
End Module
9. Nous pouvons maintenant enregistrer notre design dans le rpertoire C:\VG sous la dnomination WinTestVG et
compiler notre projet afin d'obtenir un excutable. Il faut obtenir une arborescence comme suit :
- 18 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
Un nouvel assistant est dmarr pour vous permettre de dfinir le type d'application et son langage :
Remarquez bien que vous devez spcifier le chemin de l'ASSEMBLY de votre solution.
Vous retrouvez ainsi dans votre division "Dvp" le nom de votre solution ainsi que de l'administrateur du rfrentiel.
- 19 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
Visual Guard configure deux fichiers et vous signale que les modifications sont effectues :
- 20 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
Properties Action : permet de crer une action qui modifiera les proprits des objets de votre application
Script Action : permet d'crire un script (en Visual Basic ou en C#) qui s'excutera dynamiquement dans
l'application.
Nous nous limiterons dans ce test aux Properties actions. En ce qui concerne les Script actions, un manuel trs
complet existe.
- 21 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
Vous nommez et dcrivez le plus clairement possible la permission cre. Imaginez que vous pouvez en raliser un
trs grand nombre, soyez donc prcis ce niveau afin de vous faciliter le travail venir.
Pour chaque permission existante, il faut dfinir les Properties Action qui leur sont propres. Pour cela, Visual Guard
dispose d'un autre assistant :
- 22 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
Remarquez que vous retrouvez les feuilles de votre application ainsi que les feuilles internes Visual Guard. Les
actions seront donc dfinies sur les lments contenus dans ces feuilles. En choisissant la feuille FrmClient que
nous avons cre prcdemment pour afficher les donnes de notre base de donnes NorthWind.mdb, nous voyons
que nous pouvons accder tous les vnements de cette feuille.
Slectionnons l'vnement (Default) After loading the security. Ce n'est pas un vnement rel de la classe mais
indique Visual Guard qu'il faut excuter cette action au chargement de la scurit pour cette classe.
- 23 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
Nous pouvons maintenant accder tous les contrles placs dans cette feuille et surtout toutes leurs proprits.
Vous avez donc compris que le but de Visual Guard est de dfinir au niveau mme des contrles l'action
dclencher par rapport l'utilisateur connect.
Remarquez aussi que, ds qu'une action est dfinie pour un lment de votre feuille, son nom se colore en rouge
dans la liste. Une facilit supplmentaire pour savoir quels lments sont concerns par des actions
Crez donc les actions propres chacune des permissions que vous avez dj tablies :
- 24 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
Et voil toute une srie de permissions et leurs actions dfinies pour une simple petite application. Nous nous sommes
limits aux accs du menu ainsi qu'aux boutons afficher ou non, il est vident que vous pouvez tendre ces actions
tous les autres contrles de vos feuilles et "jouer" avec toutes les proprits.
Ces groupes doivent tre nomms afin de pouvoir ultrieurement les attribuer facilement des utilisateurs.
Nous avons donc rassembl diverses permissions cres auparavant et provenant de nos diffrents rpertoires. Nous
voyons dans l'exemple que le "jeu de permissions" nomm "Commercial externe permissions" regroupe plusieurs
permissions de base dfinies aussi bien au niveau des Clients que des Produits et des Employs. Il intgre mme le
"jeu de permissions" nomm "Commercial interne permissions" qui correspond lui aussi diverses permissions
de bases.
Vous constatez qu' ce rythme l, on peut crer une telle arborescence de possibilits que le bon choix des noms
est impratif et rendra ces regroupements plus aiss comprendre et exploiter.
- 25 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
Pour ajouter et enlever des permission, il existe une dition des listes de permissions qui vous facilite grandement
la tche :
et vous remarquerez que vous pouvez continuer faire des regroupements de niveau grce l'option "Edit
permission set list" qui est, en fait, un "jeu de liste de permissions"
- 26 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
Par exemple, nous avons cr ici, 4 rles qui pourront tre allous aux utilisateurs comme suit :
Vous pouvez voir que tous les utilisateurs qui pourront choisir le rle de "l'quipe commerciale 1" auront dans leur
attribution le "jeu de permissions" attribu ce rle. En l'occurence ici, "commercial externe permissions".
- 27 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
- 28 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
Remarquez qu'une fentre de travail s'ouvre lorsque vous dsirez attribuer des rles l'utilisateur en cours :
La modification des lments "Start Date", "End Date" et "Locked" a une incidence prcise sur les possibilits de
connexion de votre utilisateur.
- 29 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
Il existe aussi la possibilit de "dupliquer" un utilisateur mais, il faut quand mme modifier ses autorisations, son mot
de passe et ses coordonnes. Seul regret mettre, l'impossibilit de crer " la vole" un groupe d'utilisateur ayant
les mmes privilges avec gnration de leurs mots de passe.
Quand nous avons fini toutes ces manipulations, la console de Visual Guard compltement "tendue" donne ce genre
de rsultat :
- 30 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
- 31 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
V - Conclusion
Un produit encore trs jeune qui doit voluer (et qui volue) vers une simplification de la gnration des autorisations.
Ayant relev quelques points "amliorables", nous les avons soumis l'quipe de dveloppement chez Novalys.
Vous pouvez constatez leur rponse que le produit est en dveloppement constant :
Novalys : La duplication de tous les items sera possible dans la version 2.0 (courant septembre). A l'heure actuelle,
il possible de dupliquer un utilisateur et ses permissions ou de dupliquer une action.
une possibilit interactive de tester immdiatement l'effet des autorisations/restrictions sur l'application
concerne
- 32 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/
Utiliser Visual Guard avec Visual Basic .NET par Ccile Muno - Christian Marchal
Novalys : Cela ne pourrait pas se faire sur l'ensemble des actions ou pourrait poser des problmes dans l'application.
Ce qui est envisag est de pouvoir ventuellement recharger le jeu de permissions courant si son contenu a chang
sans avoir quitter l'application.
le "double-emploi" des rles et des jeux de permissions puisqu'on ne peut avoir qu'un seul jeu de permissions
pour un rle dtermin.
Novalys : Dans la plupart des cas, le rle et le jeu de permission sont semblable et trs lis. C'est pourquoi ils
semblent redondants. Cependant il existe plusieurs diffrences :
Il est possible avec VG d'avoir un rle sans jeu de permissions.
Il est possible de dfinir des jeux de permissions partir d'autre jeux de permissions (une sorte d'hritage de jeu de
permissions). Le rle ne le permet pas.
La notion de rle correspond la notion rle standard dans .Net. La notion de permission telle que dfinie dans VG
n'existe pas dans le framework .net. La notion de jeu de permissions dfinie dans .Net pour la scurit d'accs au
code n'a pas de lien avec les rles. C'est pourquoi les 2 notions ont t spares.
Dans la version 2.0 de VG, il sera possible de dfinir des rles partags par plusieurs applications. Dans ce cas, un
rle pourra avoir plusieurs jeux de permissions (1 par application).
Une amlioration envisage pour la version 2.0 serait de crer par dfaut un jeu de permissions chaque cration
de rle (et vice versa) et de les lier automatiquement. Ce qui simplifierait la saisie.
lors d'une modification dans l'application, il serait bien d'en constater la rpercussion immdiate dans la
console. Actuellement, il faut faire plusieurs manoeuvres.
Novalys : Les versions actuelles dtectent automatiquement si une assembly a t recompile et la rechargent
automatiquement. Il est possible de vrifier toutes les actions d'une application en slectionnant avec le clic de droite
sur l'item de l'application l'option "Check Action".
Cette option va vrifier la validit de chaque action et crer une liste d'action en erreur avec un message d'erreur.
Dans le cas d'une classe renomme, il suffit de double cliquer sur l'action en erreur et de slectionner la classe avec
le nouveau nom dans la liste puis de valider la saisie. Ces options n'existaient pas dans votre version.
une structure schmatique sous forme d'organigramme pourrait tre gnre partir des imbrications de
permissions, jeu de permissions, liste de rle, ...
Soit une structure comme on peut en visualiser dans Access et les liaisons entre tables, soit une exportation
dans un document XML de l'arborescence de la console. Le XML ayant tendance devenir une rfrence en
matire de structuration de donnes, il semblerait logique de privilgier cette option.
Le produit ne cessant de s'affiner dans les nouvelles versions, il plaira trs certainement un large public. Il n'est
plus ncessaire d'avoir des connaissances profondes d'administration rseau pour scuriser les applications d'une
entreprise.
VI - Remerciements
Nous tenons remercier tout particulirement et chaleureusement Madame Grolleau, notre contact ainsi que toute
l'quipe de dveloppement de Novalys pour leurs prcieux conseils et leur disponibilit.
Merci galement aux membres de l'quipe Dotnet, notamment Didier Danse pour ses conseils aviss et
StormimOn pour sa relecture finale.
VII - Tlchargements
L'application ralise pour le test : VG.zip (miroir HTTP)
N'oubliez pas que vous ne pourrez pas la tester sans avoir install la console Visual Guard, le framework 1.1
et Visual Basic 2003.
L'article au format PDF : Visual Guard.pdf (miroir HTTP)
- 33 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification
et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://khany.developpez.com/dotnet/visualguard/