2013-10-01 3 views
1

주어진 Apache Shiro의 허가 형식 domain:action:instance 사용자가 단지 자신의 계정 데이터 만 변경할 수 있다고 정의하는 방법은 무엇입니까? 내가 대신해야 할 것은 허락-규칙 뭔가사용자가 자신의 계정 데이터 만 변경할 수 있도록 구성하는 방법은 무엇입니까?

useraccountdata:write:user1 허가 useraccountdata:write:userN 허가

userN에 ... user1에 :

나는 다음하지만,이 권한의 거대한 폭발로 연결을 할 수 이를 동적으로 구성하십시오. 같은

뭔가 : useraccountdata:write:user{n} 허가 모든 n

에 대한 자동 user{n} 방법이 어떻게 든 지원 또는 내가 여기에 잘못된 경로에 완전히 생각인가? 그렇지 않다면 어떻게 할 것입니까?

답변

0

고유 한 버전의 Authorizer를 만드는 경우 isPermitted 메서드 중 하나를 사용하여 해당 사용자의 권한을 동적으로 추가 할 수 있습니다.

+0

사용자별로 사용자별로 사용 ​​권한을 동적으로 추가 할 수있는 사용자 지정 코드가 있습니까? 나는 선언적 방법을 가지기를 바랬다. 오, 내가 생각하기에 그것을 모두 가질 수는 없다. –

+0

예. 그러나 PermissionAnnotationHandler 및 AuthorizingAnnotationMethodInterceptor 클래스의 사용자 정의를 직접 수행 할 수도 있습니다. 기본 사용 권한을 제공하고 나머지를 컨텍스트 (메서드 서명 또는 인수)에서 파생시키는 자체 변형 @RequiresPermission을 만듭니다. 이것은 일부 aspect 지향 프로그래밍을 포함 할 것이다. – Wouter