Я использую иерархию ролей в Spring Security.
<beans:bean id="roleVoter" class="org.springframework.security.access.vote.RoleHierarchyVoter">
<beans:constructor-arg ref="roleHierarchy" />
</beans:bean>
<beans:bean id="roleHierarchy"
class="org.springframework.security.access.hierarchicalroles.RoleHierarchyImpl">
<beans:property name="hierarchy">
<beans:value>
ROLE_USER > ROLE_GUEST
</beans:value>
</beans:property>
</beans:bean>
Я защищаю методы с использованием protect-pointcut
<global-method-security secured-annotations="enabled" pre-post-annotations="enabled">
<protect-pointcut expression="execution(* my.package.*(..))"
access="ROLE_GUEST"/>
</global-method-security>
Однако я получаю AccessDeniedException, если я вхожу в систему с пользователем, которыйПолномочия ROLE_USER.У меня нет проблем, если я указал protect-pointcut с access="ROLE_GUEST,ROLE_USER"
.
Я пропустил некоторые шаги?К вашему сведению, я использую Spring 3.0.5.
Спасибо.