2017-12-05 2 views
1

역할을 관리하려고하지만 역할 관리가 어려워졌습니다. 나는 하인 관리 시스템에 종사하고있다. 나는 역할 테이블을 만든역할이있는 하인 관리 시스템 용 데이터 모델을 설계하는 방법

내 시스템, 사용자 및 관리자에 종을 가지고 역할 테이블을

를이 내 역할 테이블

role table 
----------- 
r_id r_name 
    1 customer 
    2 servant 
    3 admin 

인 역할 테이블

user table 
----------- 
user_id user_name user_pass 
    1   abc  xyz 

관리 및 관리

manage role table 
------------------ 
r_id u_id 
    1 1 
    1 2 
    2 3 

이제 문제는 내가 어떤 고용주가 어떤 종업원을 고용하는지보기를 원합니다.

hire table 
---------- 
c_id , s_id 

내가 ID를 통해 어떤 종을 고용 가지고있는 고객이보고 싶어하기 때문에 고용 테이블을 표현하는 가장 좋은 방법은 무엇입니까?

답변

0

처음으로 모두 : 필요가 없습니다 바퀴를 재 활성화하십시오.

데이터 모델링의 세계에서, 우리는 문제에 대한 몇 가지 패턴이 있습니다

컨텍스트 기반 액세스 제어 (CBAC)
데이터 중심 보안
임의 액세스 제어 (DAC)
그래프 기반 액세스를 제어부 (GBAC)
격자 기반 액세스 제어 (LBAC)
필수 액세스 제어 (MAC)
조직 기반 액세스 제어 (OrBAC)
역할 기반 액세스 컨트롤 (RBAC) 01, 규칙 설정 기반 액세스 제어 (RSBAC)
특성 기반 액세스 제어 (ABAC)

나는 RBAC (역할 기반 액세스 제어)을 사용할 수 있습니다.

그리고 지금 :
프로젝트에서 RBAC을 적용한 후, 프로젝트의 테이블에 RBAC 데이터를 사용하는 2 가지 방법이 있습니다 당신이 뭔가를 수행하는 사용자를 저장하려면

  1. 을 (고용 예를 들어,), 외래 키로 user_id을 해당 테이블에 추가하기 만하면됩니다.
  2. 사용자가 역할이 둘 이상인 경우 user_idrole_id을 외래 키로 해당 테이블에 추가하기 만하면됩니다.

마지막 질문에 : 단지 id을 새 테이블에 외래 키로 추가하십시오.

관련 문제