웹 시큐리티를 위해 Apache Shiro 프레임 워크를 사용하려고합니다. (UI는 Vaadin 6을 기반으로합니다.) Shiro 사이트의 모든 예를 살펴보고 몇 시간 동안 봤지만 다음 요구 사항을 처리 할 수있는 확실한 방법을 찾을 수 없습니다.Apache Shiro를 사용하여 계층 적 역할/권한을 처리하는 방법은 무엇입니까?
응용 프로그램은 사용자가 회사 계층의 특정 부서에 속한 활동을 만드는 프로젝트 관리 도구의 일종이라고 가정합니다. 각 사용자는 여러 부서에서 근무할 수 있으며 각 부서마다 서로 다른 보안 역할을 수행합니다. 예 :
Department A - User is 'Manager' here Department B Department C - User is 'Admin' here Department D
사용자가 부서 사용자의 '관리자'는도 (부 C의 조상이다) 부 D에 대한 '관리'역할을 상속한다 부서 C 사용자의 '관리자'입니다.
따라서, 기본 권한 검사 (I 일부 부서에 속하는 활동을 보려는 가정)을하는 것입니다 : 활동 사용자가보기를 시도하는
- 선택하면 부서 사용자에 속하는 역할이있다;
- 사용자가이 부서의 역할 을 기반으로 필요한 사용 권한을 가지고 있는지 확인하십시오..
"시스템 전체 역할"뿐만 아니라 "이 특정 부서의 역할"개념을 구현하는 방법에 대한 이해가 부족합니다.
위 예제를 "activity : view : 123"과 같은 권한 문자열로 변환하려면 어떻게해야합니까? 그리고 비즈니스 논리에서 어떻게 허가를 확인합니까?
Shiro의 구현에 대한 의문점이 더 많습니다. 바로 사용할 수있는 솔루션을 사용하고 싶습니다. 자체 구현을 제공하기위한 최소한의 노력이 필요합니다. 그러나 Shiro의 기본 제공 구현은 단순한 경우에만 설계된 것으로 보입니다. 복잡한 인증 구현의 예가 있습니까 (위의 경우를 다룰 수 있습니까)?