2009-11-05 4 views
2

Object 세분성을 사용하여 Java 웹 응용 프로그램의 보안 프레임 워크를 찾고 있습니다.객체 세분화 된 Java 보안 프레임 워크

의미는 URL이나 역할별로 필터링하는 것이 아니라 시스템 내부의 도메인 개체에 대한 특정 사용자 소유권을 지정하는 것입니다.

예를 들어 Sender 사용자와 Receiver 사용자가있는 Message 개체가있는 경우 모든 메시지가 해당 수신자에 의해 보낸 사람과 RO에 의해 RW가 될 수 있도록 구성 할 수 있기를 바랍니다.

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

물론이 규칙은 메타 데이터 (주석, xml 파일 등)로 정의하고 비즈니스 로직에 포함시키지 않으려합니다.

거기에 그런 짐승이 있습니까? 가급적 오픈 소스.

+1

나는 매트 B를 upvoted했지만, 여기에 맞춤 맞춤 솔루션을 구축하는 데 아무 문제가 없다고 제안합니다. 실제로 일반적으로 사용자 정의 모델을 작성하는 데 소요되는 위험이 더 낮거나 개발 시간이 적을 때, 특히 권한 부여 모델이 상당히 간단하게 들리는 일반적인 프레임 워크에서 쇠지레를 잡는 일반적인 경향이 있습니다. – Adamski

+0

그러나 동시에 일반적인 프레임 워크가 실제로 사용 사례에 맞을 가능성이 있으며 라이브러리 작성자가 이미 해결 한 모든 문제를 해결하고 문제를 해결할 시간이되지 않을 수도 있습니다. 모든 것과 마찬가지로 균형과 결정을 내려야합니다. –

답변

0

이 링크 Acegi Security Fundementals - 약간 구식이지만 여전히 스프링 보안의 객체 레벨 인증 메커니즘의 주요 개념을 제공합니다.

1

액세스 제어 목록 (ACL)을 찾고 있습니다. 다른 응답자들과 마찬가지로 Spring Security는 여기서 가치가 있다고 생각합니다. Acegi는 Spring Security가 이름을 변경하기 전에 호출했던 것입니다. 스프링 시큐리티는 ACL (URL 기반, 역할 기반 및 그룹 기반 액세스 제어 외에도)을 명시 적으로 지원합니다. XML 및 주석 기반 구성을 모두 지원합니다. 그리고 뷰에 ACL 필터링을 적용하여 (taglibs를 사용하여 JSP에서 렌더링 또는 억제 할 대상 결정), 단일 도메인 객체를 반환하는 메소드 (메소드 호출이 성공하도록 허용할지 여부 결정) 및 메소드를 호출하는 메소드에 ACL을 적용 할 수 있습니다. collection (컬렉션을 반환하기 전에 컬렉션에서 제외 할 객체를 결정).

단순한 요구 사항에 대해 고유 한 ACL 코드를 사용하여 도망 갈 수는 있지만 내 생각에는 ACL이 까다로워 질 수 있습니다. 특히 도메인 개체가 많고 성과 관리를 진지하게 받아 들여야하는 경우 특히 그렇습니다.

+0

Spring Security의 ACL 클래스를 검토 한 후에 나는 그들이 황금 시간대에 준비가되었다고 생각하지 않는다고 말해야 만합니다. Security/Method 인터셉터를 사용하고 비즈니스 객체에 관한 내 비즈니스 로직을 구축하는 것이 훨씬 쉽다는 것을 알게되었습니다. – Gandalf

관련 문제