I use the role hierarchy in 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>
I protect methods using point-pointcut
<global-method-security secured-annotations="enabled" pre-post-annotations="enabled"> <protect-pointcut expression="execution(* my.package.*(..))" access="ROLE_GUEST"/> </global-method-security>
However, I got an AccessDeniedException if I log in with a user with ROLE_USER authority. I have no problem if I specified a point-pointcut with access="ROLE_GUEST,ROLE_USER" .
Did I skip a few steps? FYI, I am using Spring 3.0.5.
Thanks.
spring spring-security
Lee Chee Kiam
source share