Comment accorder l'accès pour tous les utilisateurs authentifiés?
-
23-08-2019 - |
Question
Nécessité d'accorder l'accès aux utilisateurs sans rôle avec Spring Security. Toute personne authentification des processus doit être accordé pour accéder à tout URL. Donc, je peux le faire par quelque chose comme ceci ou peut-être en quelque sorte d'autre?
<http auto-config='true'>
<intercept-url pattern="/**" access="ALL" />
<intercept-url pattern="/login.jsp" filters="none" />
<form-login login-page="/login.jsp" />
</http>
La solution
vous cherchez probablement pour IS_AUTHENTICATED_FULLY ou IS_AUTHENTICATED_REMEMBERED ou IS_AUTHENTICATED_ANONYMOUSLY
Autres conseils
En fait, il vous suffit de créer votre propre AccessDecisionManager, et votre propre AccessDecisionVoter (s) et les passer dans le bloc comme ceci:
<http .... access-decsion-manager="myAccessManager">
.....
</http>
<bean id="myAccessManager" class="org.springframework.security.vote.AffirmativeBased">
<property name="decisionVoters">
<list>
<bean id="myVoter" class=[some subclass of AccessDecisionVoter] />
</list>
</property>
</bean>
Ce n'est pas la solution à 100%, mais il devrait vous aider à démarrer sur le bon chemin. La configuration « auto-config » dans Spring Security crée beaucoup de ces classes en arrière-plan, et les charge automatiquement s'il n'y a pas d'autres haricots des classes correctes disponibles.