Intégrer jGuard dans vos pages jsp
Ajoutez standard.jar, et jstl.jar dans votre répertoire de librairies et ajouter-les à votre chemin d'exécution(path). Vous devez ajouter la réference au taglib de jGuard dans le fichier web.xml :
......... ......... <taglib> <taglib-uri>/tags/jguard</taglib-uri> <taglib-location>/WEB-INF/conf/tld/jGuard.tld</taglib-location> </taglib> ......... .........
Vous devez mettre aussi pour cet exemple, le fichier jGuard.tld (fourni dans la distribution jGuard), dans le répertoire /WEB-INF/conf/tld/.
-
<jguard:authorized>
Le tag <jguard:authorized> est utile pour protéger des parties de jsp:
............ ............ <jguard:authorized uri="/myApplication/SwitchToModule.do?prefix=/forum&page=/ForumPanorama.do"> this text appears only if you are authorized. </jguard:authorized> ............ ............
Le texte sera affiché par la jsp, suelement si votre utilisateur, a un rôle,au moins, qui a la permission d'accéder à l'uri /myApplication/SwitchToModule.do?prefix=/forum&page=/ForumPanorama.do' Il est important de remarquer qu'un fragment est ici protégé avec une uri,et non un rôle. Si vous mettez à jour les permissions du rôle, vous n'avez pas à mettre à jour la jsp!!!
-
<jguard:hasRole>
Le tag <jguard:hasRole>, qui affiche le contenu seulement si l'utilisateur a un rôle appelé comme la valeur de l'attribut 'roles'. l'attribut 'roles' peut contenir de 1 à plusieurs rôles séparés par des virgules. l'attribut 'operator' permet de connaÎtre le fonctionnement du tag concernant 'roles':
- la valeur 'NONE' indique que le tag affichera le contenu uniquement si l'utilisateur n'a pas les rôles spécifiés.
- la valeur 'ANY' indique que le tag affichera le contenu si l'utilisateur a au moins un des rôles spécifiés.
- la valeur 'ALL' indique que le tag affichera le contenu si l'utilisateur a tous les rôles spécifiés.
- lorsque le l'attribut 'operator' n'est pas spécifié, la valeur 'ANY' est utilisée par dée par défaut.
............ ............ <jguard:hasRole roles="admin"> hello!! you have got a role called admin </jguard:hasRole> ............ ............
Notez que si vous changez le nom du rôle, vous aurez à mettre à jour le code de la jsp, contrairement au premier tag <jguard:authorized>. Donc, le tag <jguard:authorized> devtait être utilisé la plupart du temps pour protéger les liens html, et <jguard:hasRole> devrait être utilisé pour protéger le contenu 'functionnel'.
-
<jguard:pubCredential>
Le tag <jguard:pubCredential>, affiche la propriété publique d'un utilisateur. Si l'utilisateur authentifié n'a pas cette propriété, le tag affiche la valeur par défault si le développeur d'application web utilise cette fonctionnalité(optionelle); sinon, le tag affiche "".
............ ............ <jguard:pubCredential id="name" default="noName" /> ............ ............
-
<jguard:privCredential>
Le tag <jguard:privCredential>, affiche la propriété privée d'un utilisateur. Si l'utilisateur ahtentifié n'a pas ce credential, le tag affiche la valeur pr défaut si le développeur d'application web a utilisé cette fonctionnalité(optionnelle); Sinon , le tag affiche "".
............ ............ <jguard:privCredential id="login" default="default" /> ............ ............