Bonjour,
je fais partie de l'équipe jGuard, et donc vais essayer de répondre à tes questions.
;-p
jGuard permet de gérer le mécanisme permettant de t'authentifier en fonctions des données remplies dans le formulaire de login en les comparant avec des données persistées en base. il affecte automatiquement à ton utilisateur les rôles associés.
concernant la récupération des rôles dans du code ou une jsp, le user(l'objet Subject) est stocké en session.
tu le récupère ainsi:
Subject subj = (Subject)request.getSession().getAttribute(HttpConstants.SUBJECT_ID);
pour récupérer les rôles(appelés principals), tu le fais ainsi:
Set principals = subj.getPrincipals();
si tu souhaites dans ta jsp afficher des bouts de pages en fonction d'un rôle précis, ou d'un accès à une permission précise, tu peux le faire via la taglib fournie.
par exemple, si tu souhaites affichier un bout de page uniquement si tu as le rôle admin:
1 2 3
| <jguard:hasPrincipal name="admin">
administrator zone
</jguard:hasPrincipal> |
tu peux aussi afficher sélectivement un bout de page suivant l'accès à une url:
1 2 3
| <jguard:authorized uri="/myAction.do">
you've got access to myAction
</jguard:authorized> |
et afficher les données de l'utilisateurs dans la jsp:
<jguard:privCredential id="country" default="unknown" />
ceci affichera la valeur de l'attribut 'country' de l'utilisateur, et si cet attribut n'est pas présent, cela affiche 'unknown'.
une webapp d'exemple est fournie avec la distribution pour voir jGuard en action.
cela répond-il à ta question?
Charles(jGuard team).
Partager