9
votes

Déclaration de contrôle TagLibs Spring Security TagLibs

existe-t-il un moyen d'implémenter une déclaration de contrôle avec des tamis de sécurité à ressort?

Nous ne pouvons actuellement vérifier que si un utilisateur a un rôle ... xxx

Que diriez-vous d'autre?


0 commentaires

3 Réponses :


2
votes

valeur de l'accès est un SPEL expression, évalué contre WebSecurityExpressionroot , vous pouvez donc utiliser toutes ses méthodes et toutes les syntaxes de spel.

Aussi, vous pouvez personnaliser la création du contexte d'évaluation en déclarant une personnalisation WebsecurityExpressionHandler comme un haricot (alors vous pouvez ajouter vos propres méthodes et variables).


2 commentaires

J'utilise ce qui suit pour simuler une déclaration de contrôle Got admin Non COM admin


Est-ce juste moi ou cela ne répond pas à la question? Je veux écrire superutilisateur ORDINAIRE < / C: Choisissez> . Ça ne marche pas. Pourquoi ne fonctionne-t-il pas et comment puis-je le faire fonctionner?



6
votes

Si vous avez manqué le commentaire de la réponse acceptée. Voici comment faire une déclaration de contrôle de xxx

remarque le ! non instructif en cours

crédits sur @blake


0 commentaires

19
votes

La question est ancienne, mais de toute façon ..

Vous pouvez stocker le résultat de l'évaluation des balises en variable (au moins à la version 3.1), puis utilisez-la dans la construction standard if / el / code> construction. Je pense que c'est une solution plus utile que la précédente. P>

<security:authorize access="hasRole('ROLE_ADMIN')" var="isAdmin" />
<c:choose>
   <c:when test="${isAdmin}">superuser</c:when>
   <c:otherwise>ordinary user</c:otherwise>
</c:choose>


0 commentaires