2017-10-18 5 views
0

Je suis en train de réaliser un projet et j'ai besoin d'obtenir les détails de l'utilisateur dans JSP. Après avoir fait quelques recherches, je savais ${pageContext.request.userPrincipal.name} peut être utilisé pour obtenir le nom du principal. Mais que faire si j'ai besoin d'une autre information, un exemple d'ID (reçu de Google lors de la connexion via Google Auth) ou un mot de passe, etc. Existe-t-il un moyen simple de faire cela? J'utilise le taglib de Spring Security.Comment obtenir des informations principales dans JSP?

Répondre

1

Oui, il existe une manière très simple de procéder ainsi en utilisant spring security taglib comme vous le faites. Juste en utilisant la balise d'authentification de cette façon:

<sec:authentication property="name" />

En utilisant cette façon renverrait la propriété du nom de l'objet Authorization, ce qui est généralement le même que le nom principal. Mais vous pouvez accéder à tous les autres biens, même des propriétés dans les objets imbriqués:

<sec:authentication property="authorities" /> retournerait la liste des autorisations accordées de l'objet d'authentification

<sec:authentication property="details.sessionId" /> c'est une propriété que j'utilise parfois dans un objet imbriqué à l'intérieur du details champ de l'objet Authentication.