2010-07-20 5 views
1

페이지에 표시된 내용에 대한 데이터 액세스를 제어하는 ​​메커니즘을 구현해야하는 프로젝트를 진행 중입니다.Java EE 기술의 데이터 액세스 제어

먼저 다른 사용자가 특정 페이지에 로그온하거나 특정 페이지를 볼 수있는 기능을 언급하지 않았습니다. 이는 다른 유형의 액세스 제어입니다. '데이터 액세스'에 관심이 있습니다. 즉, 여러 사용자가 같은 페이지를 볼 수 있지만 표시되는 데이터는 데이터 액세스 권한에 따라 다릅니다.

"데이터 액세스"제어를 구현하기위한 다양한 접근 방법을 알고 싶습니다. 이런 종류의 작업을위한 프레임 워크가 있습니까? 현재 Struts를 사용하고 있습니다.

나는 이것을 생각하고 있는데, 내가 보관하고있는 종류의 데이터를 분류하고 저장해야하며 어떤 사용자가 그것을 보거나 수정할 수 있는지 구성해야합니다. 나는 처음부터 완전히 무언가를 만들어 내려하지 않으려 고 노력하고 싶다. 그래서 나는 전문가들이 어떻게 이것을하는지, 그리고 어떤 프레임 워크 기술이 그것을 어떻게하는지에 대해 궁금해한다.

+0

나는 이것이 낡았다는 것을 알고있다. 그러나이 모든 것을 고민하는 사람이 있다면, 무료 전자 책 "JAAS in Action"을 보라. 8 장은 "JAAS for Data Access Control"www.jaasbook.com에있다. – earcam

답변

1

나는 Spring Security Framework이 필요하다고 생각합니다. 이 프레임 워크를 사용하면 다른 사용자에게 다른 역할을 할당 할 수 있습니다. 예를 들어 ROLE_USER, ROLE_ADMIN의 두 가지 역할을 정의 할 수 있습니다. 그런 다음 사용자에게 해당 역할을 할당합니다. 예를 들어, 사용자 A는 ROLE_USER 역할을 하나만 가질 수 있고 사용자 B는 두 가지 역할을 모두 가질 수 있습니다. 당신이 그들 모두에게 뭔가를 보여주고 싶은 경우 마찬가지로

<sec:authorize ifAllGranted="ROLE_USER, ROLE_ADMIN"> 
    <!-- html, jsp scriplets, jstl tags inside here will be visible to user B only --> 
</sec:authorize> 

: : 이제 특정 JSP의 경우, 당신은 단지 당신이 인증 태그 한 쌍의에 코드를 넣을 수 있습니다 사용자 B에게 뭔가를 보여주고 싶은

<sec:authorize ifAllGranted="ROLE_USER"> 
    <!-- anything inside here will be visible to both users --> 
</sec:authorize> 

희망이 있습니다.

1

인증 솔루션을 찾으십니까? 이미 JAAS, OSUser 및 similars를 확인 했습니까? 인증 요구 사항이 크게 다를 수 있습니다. 좀 더 구체적으로 생각해야한다고 생각합니다. 유스 케이스를 추가하십시오.

1

나는 그가 아직 그의 질문에 대해 구체적이라고 생각한다. 그러나 나는 그것에 대한 답을 아직 모른다.

잘 구축 된 엔터프라이즈 애플리케이션에서는 (a) 기능 ACL의 두 가지 보안 수준이 있습니다. Facebook에서 다른 사용자가 검색 할 수 있습니까? (등

(b)는 당신이 읽을 수있는 액세스 및 업데이트가 부여됩니다 어떤 데이터입니다.

어떤 사용자 프로필 예를 들어 귀하의 firends의 목록에있는, 할 수있다 당신이 열고 페이스 북에서 읽어? 일부 사용자의 경우 볼 수 있습니다 예를 들어, 자신의 프로필. 다른 사람을 위해 당신은 할 수 없습니다. 따라서

, 당신은 당신이 시스템에 개체의 전체 세트를 판매 할 수있을 것이라는 점을 의미하지 않는다, 엔티티를 나열하는 JSP를 열 수 있다는 사실.

(a) Java EE 사용자 및 역할 보안 개념으로 쉽게 해결할 수 있습니다.

(b) 특정 JNDI 사용자 및 역할에 데이터베이스 데이터를 연결합니까?

당신은 데이터 액세스 ACL에 관해서도 바퀴를 재발 명해야합니까?