나는 스프링 보안을 사용하여 인증을 처리하는 GWT 애플리케이션을 개발 중이다. 내 응용 프로그램에는 각각 다른 역할을 가진 5 명의 사용자가 있습니다.계층 적 권한에 가장 적합한 스프링 보안 ACL 옵션
- 슈퍼 유저 - 이것은 사이트 소유자이며 모든 것에 대한 읽기 권한을 가지고 있습니다.
- 학교 소유주 - 신청서를 사용할 학교를 소유하고있는 사람입니다. 이 사용자는 모든 학교에 액세스 할 수 있습니다.
- 지구 관리자 - 사이트 소유자의 직원으로 해당 지역의 학교에 대한 읽기 권한이 있습니다. (한 구역은 많은 학교가있는 물리적 인 구역 임)
- 학교 관리자 - 특정 학교를 관리하고 해당 학교의 모든 자료를 읽고 쓸 수 있습니다. 접근은 학교 주인이합니다.
- 강사 - 학교 관리자가 지정한 특정 영역에만 읽기 및 쓰기 권한이 있습니다.
필자는 이러한 보안 모델을 구현하는 여러 가지 방법을 살펴본 나는 봄 보안을 사용하여 해결하는 두 가지 방법 사이에 찢겨있어, 처음 설명한 바와 같이 4 데이터베이스 ACL 테이블을 사용하여 그 일의 복잡한 방법이 on denksoft blog
다른 방법은 Spring 보안 표현식 언어를 통해 표현식 기반 액세스 제어를 사용하는 것이고 훨씬 쉽고 별도의 데이터베이스 테이블을 필요로하지 않습니다.
내 질문은, 내가 성취하고자하는 것에서 어떤 옵션을 사용하는 것이 더 좋으며 더 나은 결과를 얻을 수 있습니다. 첫 번째 옵션 (데이터베이스 ACL 테이블 사용)을 사용하면 더 많은 사용자 정의가 제공된다고 가정합니다. 나는 RoR 배경에서 왔고 왜 이렇게 많은 테이블을 필요로하는지 궁금해. Expression Language 옵션은이 시나리오에서 실행 가능한 솔루션입니까? 그리고 만약 이것에 대한 좋은 출발점/튜토리얼이 있습니까? 조언은 높이 평가됩니다.