2013-01-07 4 views
2

내가 Q를 구축하고 있다고 가정 해 봅시다. & stackoverflow와 같은 사이트입니다. 내 사이트는 다음과 같은 주요 기능을 가지고 있습니다 :사용자 역할 기반 디자인에 대한 조언이 필요합니다.

포스트 : 포스트는 질문이거나 대답 할 수

프로필 : 사용자의 개인 프로필

개인 메시지 : 저장 사용자

의 개인 메시지

....

디자인하는 방법을 알아 내려고했는데 내 시스템의 사용자 역할. 그리고 내가 생각 해낸 : 는

enter image description here

가이 같은 사용자 역할을 설계하는 됐나요 (각 사용자는 하나 개의 역할에 속한)? 그렇지 않다면, 누군가 제안을 해줄 수 있습니까? MySQL, Struts 2를 사용하고 있습니다. Struts 2에는 RBAC (Role Based Access Control)에 사용할 수있는 라이브러리가 있습니까?

는 (나는 Need some advice on my own Role Based Access Control (RBAC)을 읽고,하지만 내 문제를 해결하지 않는 것) 내 현재 struts2-프로젝트에 RBAC를 구현 한

답변

1

합니다. RBAC에는 3 가지가 포함되어 있습니다. 사용자, 역할 및 사용 권한.

관계는 다음과 같습니다 : 당신이 역할 관리자를 정의한다고 가정하면,이 등 CAN_READ, CAN_WRITE, CAN_EXECUTE ... 같은 권한이 필요합니다 때문에

Role-Permission: M-M 
User-Role:M-M 

참조는 관계가 이런 식이다. 위의 권한 조합을 가진 역할을 정의하고 일부 역할 조합으로 사용자를 만들고 싶을 수도 있습니다. 예 :

READER is role having permission CAN_READ. 
    WRITER is role having permission CAN_WRITE. 
    You can now have user with role READER & WRITER 
+0

답장을 보내 주셔서 감사합니다. 하지만이 디자인을 사용하면 사용자 A가 편집 권한이있는 역할 모드에 속하면 사용자 A에게 전체 시스템에 대한 편집 권한이 부여됩니다. 내 시스템에서 사용자 A는 기능 A에 대한 편집 권한이 있지만 기능 B에 대한 권한 만 읽을 수 있습니다. – ipkiss

+0

그러면 Read_Fun_A, Write_Fun_B, Write_Fun_B 및 역할 할당에 따라 권한을 정의해야합니다. :). 관계가 위의 더 넓고 확장 가능한 범위에서 볼 수 있습니다. 엔터프라이즈 시스템이고 많은 역할 기반 시나리오가있는 현재 프로젝트에서 구현했습니다. – DarkHorse

+0

오케이, 나는 너의 방식대로 시도 할 것이다. 감사. – ipkiss

관련 문제