Legacy/Spring Framework

[Spring Security] ROLE을 계층적으로 설정하는 방법

Foo 2015. 11. 16. 04:33
728x90
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!-- Permission MethodInvocation Expression : 소스 레벨에서 제어되는 옵션 -->    
<beans:bean id="expressionHandler" class="org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler">
<beans:property name="permissionEvaluator" ref="permissionEvaluator"/
<beans:property name="roleHierarchy" ref="roleHierarchy" />
</beans:bean>
 
<!-- Permission 상세 설정 -->
<beans:bean id="permissionEvaluator" class="kr.co.wincom.curation.client.security.permission.SecurityPermissionEvaluator"/>
 
<!-- Role Level 설정 -->
<beans:bean id="roleHierarchy" class="org.springframework.security.access.hierarchicalroles.RoleHierarchyImpl">
<beans:property name="hierarchy">
<beans:value>    
ROLE_ADMIN > ROLE_MANAGER
ROLE_MANAGER > ROLE_ANONYMOUS
</beans:value>
</beans:property
</beans:bean>
cs


스프링 시큐리티 설정파일에 추가하면 된다.

ADMIN은 MANAGER와 ANONYMOUS의 권한보다 높은 권한을 가지고 있는 것이고

MANAGER은 ANONYMOUS보다 높은 권한을 가진다.

추가도 훨씬 간편해진다.