2011-03-09 4 views
0

스프링 보안은 동적 역할 &을 어떻게 지원합니까? 예를 들어, 런타임시 최종 사용자가 역할을 생성 할 수 있습니다. 각 역할에는 런타임에 만들거나 업데이트 할 수있는 여러 권한이 포함될 수 있습니다. 3 개월 동안 활동이 없으면 각 허가는 삭제 주제와 같은 기준에 기초합니다. acl_entry의 레코드가 동적이 아닌 정적이기 때문에 스프링 보안의 ACL은이를 지원할 수 없습니다. 이러한 요구 사항을 지원하기 위해 스프링 보안을 사용자 정의하는 방법은 무엇입니까?봄 보안이 적용되는 기준 기반 권한 확인?

답변

1

스프링 보안 3은 expression based authorization을 지원합니다 : Spring Expression Language에 임의의 제약 조건으로 secuirty 제약 조건을 표현할 수 있습니다. 기본적으로이 표현식에 SecurityExpressionRoot의 메소드를 사용할 수 있습니다.

그러나 MethodSecurityExpressionHandler.createEvaluationContext()을 사용자 지정하여 자신의 메서드를 추가 할 수 있으므로 임의의 조건을 정의하고 이러한 식에서 사용할 수 있습니다. What's the difference between @Secured and @PreAuthorize in spring secu 3?도 참조하십시오.