문제

객체 세분화가있는 Java 웹 응용 프로그램을위한 보안 프레임 워크를 찾고 있습니다.

그것이 의미하는 바는 URL이나 역할에 의해 필터링하고 싶지 않고 시스템 내부의 도메인 객체의 특정 사용자 소유권으로 필터링하고 싶다는 것입니다.

예를 들어, a가있는 경우 Message a Sender 사용자 및 a Receiver 사용자 사용자는 모든 메시지가 발신자가 RW가 될 수 있도록 구성하고 수신자가 RW를 구성 할 수 있습니다.

예를 들어, 모든 사용자 프로필은 모든 사용자가 볼 수 있지만 소유자는 편집 할 수 있습니다.

물론이 규칙은 메타 데이터 (주석, XML 파일 등)로 정의하고 비즈니스 로직에 포함되지 않은 것으로 정의하고 싶습니다.

그런 짐승이 있나요? 바람직하게는 오픈 소스.

도움이 되었습니까?

해결책

봄 보안 같은 것들을 제공 할 수 있습니다 방법 보안 및 "보안 객체" AOP 사용.

다른 팁

ACLS (Access Control Lists)를 찾고 있습니다. 다른 응답자들과 마찬가지로 나는 Spring Security가 여기에서 확인할 가치가 있다고 생각합니다. Acegi는 이름을 바꾸기 전에 Spring Security가 호출했던 것입니다. Spring Security는 ACL에 대한 명시 적 지원이 있습니다 (URL 기반, 역할 기반 및 그룹 기반 액세스 제어 외에도). XML 및 주석 기반 구성을 모두 지원합니다. 또한 ACL 필터링 (Taglibs를 사용하여 JSP에서 렌더링 또는 억제 할 내용을 결정), 단일 도메인 개체를 반환하는 메소드 (메소드 호출이 성공할 수 있는지 결정) 및 반환 방법에 적용 할 수 있습니다. 수집 (컬렉션을 반환하기 전에 필터링 할 객체를 결정하십시오).

간단한 요구 사항을 위해 자신의 ACL 코드를 롤링하면서 도망 갈 수 있지만 제 생각에는 ACL이 까다로워 질 수 있습니다. 특히 도메인 객체가 많고 성능 관리를 진지하게 시작 해야하는 경우.

이 링크를 확인하십시오 Acegi 보안 자금 - 약간 구식이지만 여전히 Spring Security의 객체 수준 승인 메커니즘의 주요 개념을 제공합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top