Desidero stampare un ruolo utente in JSP? So che esiste un tag spring-security chiamato come <sec:authentication property="principal.username"/>
utilizzando questo tag posso accedere al nome utente..ma come accedere e stampare il ruolo corrente in jsp?Come accedere al ruolo in JSP utilizzando la sicurezza di primavera?
20
A
risposta
21
Poiché principal
si riferisce all'oggetto UserDetails
, se si ispeziona quell'oggetto, i ruoli vengono archiviati in public Collection<GrantedAuthority> getAuthorities() { .. }
.
Detto questo, se si desidera semplicemente stampare i ruoli sullo schermo, fare questo: -
<sec:authentication property="principal.authorities"/>
18
Utilizzare getAuthorities o scrivere la propria implementazione di dettagli utente e creare un metodo di convenienza.
o:
<sec:authorize access="hasRole('supervisor')">
This content will only be visible to users who have
the "supervisor" authority in their list of <tt>GrantedAuthority</tt>s.
</sec:authorize>
da here.
3
<sec:authentication property="principal.authorities" var="authorities" />
<c:forEach items="${authorities}" var="authority" varStatus="vs">
<p>${authority.authority}</p>
</c:forEach>
+0
Un piccolo dettaglio va molto lontano ... –
come utilizzare getAuthorities da jsp? – Rajesh
usa solo la convenzione del bean nrom: –
NimChimpsky
L'URL non funziona ora. –