Bonjour,
j'utilise Spring Security pour sécuriser mes méthode avec @Secured et sa fonctionne,
mais j'ai essayé de supprimer le préfixe des roles, et là j'ai pas accès à ma méthode même si j'ai le rôle adéquat !!
voilà mon code avec configuration par défaut du préfixe ROLE_ :
si l'utilisateur à le rôle ADM il peut modifié user, sinon Exception est levée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 ............. <security:http entry-point-ref="authenticationProcessingFilterEntryPoint" create-session="always" access-denied-page="/logoff.jsp" session-fixation-protection="none"> <security:intercept-url pattern="/index.html" access="ROLE_ADM, ROLE_USER"/> <security:form-login login-page="/index.html" /> </security:http> ................
avec configuration du préfixe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 @Secured("ROLE_ADM") public void modifyUser(UserBean user) throws Exception;
meme si l'utilisateur a le role ADM il peut pas acceder à la methode modify
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 ............ <bean id="accessDecisionManager" class="org.springframework.security.vote.AffirmativeBased" > <property name="decisionVoters"> <bean class="org.springframework.security.vote.RoleVoter"> <property name="rolePrefix" value=""/> </bean> </property> </bean> <security:http entry-point-ref="authenticationProcessingFilterEntryPoint" access-decision-manager-ref="accessDecisionManager" create-session="always" access-denied-page="/logoff.jsp" session-fixation-protection="none"> <security:intercept-url pattern="/index.html" access="ADM, USER"/> <security:form-login login-page="/index.html" /> </security:http> ..........
sinon il y a un moyen pour les rôles dans le contexte de SpringSecurity ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 @Secured("ADM") public void modifyUser(UserBean user) throws Exception;
Merci.
Partager