est-il possible de récuperer son subject?
la réponse est
non, si tu utilises la méthode "classique" j2ee.
en fait, l'authentification sous j2ee est mal standardisée, et le peu qui l'est est d'une qualité douteuse....
en fait, dans les spécifications j2ee, il est fait référence à JAAS souvent, mais chaque serveur d'application utilise son mécanisme de realm spécifique (bonjour la portabilité entre serveurs d'applications......).
la réponse est
oui si tu utilises un autre mécanisme, comme jGuard (
http://jguard.sourceforge.net).

petite précision, je fais partie de l'équipe de développement de jGuard.
jGuard repose sur JAAS, (intégré en standard dans j2se depuis java 1.4), et l'utilise dans ton application j2ee.
pour résumer, il existe un mécanisme standard dans java, et les spécificateurs j2ee ont fait leur propre système bien moins performant.....
donc avec jGuard, tu récupères effectivement un objet Subject représentant ton utilisateur, ayant des attributs de sécurité publics et privés, possédant plusieurs rôles (principals) dont la liste peut être connue très facilement (impossible en j2ee).
les rôles sont bien sûr liés à des permissions, et les associations rôle - permissions peuvent être mise à jour à chaud via ta webapp (une webapp exemple est fournie).
jGuard fournit aussi une librairie de tags afin de protéger aussi des fragments de page.
la version prochaine de jGuard (v0.65) est pour très bientôt, et la version beta est pour ce week-end (v0.65 beta2).
celle-ci permettra une installation et intégration simplifiée.

pour exemple, l'utilisateur n'aura qu'à mettre le war exemple dans son serveur d'applications (tomcat), et c'est tout!
ceux qui connaissaient les étapes de configuration précédentes apprécieront!
en espérant que ma réponse pourra t'aider,
Charles (jGuard team).
Partager