이 질문은 RBAC 시스템 자체의 데이터베이스 설계에 관한 것이 아니라 웹 응용 프로그램에서 사용자가 컨텐츠를 제출할 수있게 할 때 응용 프로그램 특정 데이터베이스와 함께이 데이터베이스를 사용하는 방법에 관한 것입니다.역할 기반 액세스 제어 DB 설계
내 RBAC는 직원이 레코드를 추가하고 업데이트 할 수있는 간단한 백엔드 관리 응용 프로그램에서 쉽게 작동해야합니다. 예를 들어 온라인 저장소는 일반적으로 사용자 제출 콘텐츠가 없습니다. 두 데이터베이스는 분리되어있을 수 있습니다. 그러나 사용자가 콘텐츠를 제출할 수있는 웹 사이트/응용 프로그램으로 RBAC 디자인을 어떻게 재사용 할 수 있는지 잘 모르겠습니다. 레코드 추가/업데이트 권한이 필요한 두 개의 데이터베이스에 두 개의 User 테이블이 있습니다.
내 RBAC 데이터베이스를 웹 사이트 데이터베이스에 통합하고 users 테이블을 공유합니까?
두 개의 별도로 보관 하시겠습니까?
다른 작업을 수행 하시겠습니까?
옵션 2 할 경우 I :
(A)
(B)가 RBAC 사용자 테이블에 웹 사이트 데이터베이스에서 사용자를 복제 사용자 테이블에 관계를 만들
(C) 웹 사이트 사용자의 웹 사이트 데이터베이스에 새 RBAC 시스템을 만들고 관리자 사용자를 위해 별도의 RBAC를 만드시겠습니까?
데이터를 복제하는 중이지만 구현하기가 쉽지 않은 것처럼 보입니다. B는 두 개의 분리 된 사용자 테이블에 대한 관계를 생성하는 것이 어려워 보이는 것 같습니다. C도 중복되지만 "admin"RBAC에 영향을주지 않으면 서이 RBAC를 많이 사용자 지정할 수 있습니다.
기본적으로 RBAC 시스템을 가능한 한 재사용 가능하게 만들고 응용 프로그램 특정 사용자가 컨텐츠를 제출할 수있게함으로써 내 머리를 얻는 것이 약간 어려워지고 있습니다.
이 작은 RBAC 시스템은 대부분 내가 배울 수있는 방법이므로 "일반적인 프레임 워크 x/y/z를 사용해야합니다." 최근에 발견 한 용어를 사용하여, 나는 휠 얼간이가되어 호기심이 생길 때마다 재발 명하고 싶습니다! :)
내 사이트에 MySQL과 PHP를 사용할 예정이지만, 여기에 대해 묻는 데이터베이스 디자인이 중요하지 않습니다.
제 질문이 명확하지 않은 경우 알려 주시면 자세히 설명 드리겠습니다. 시간 내 주셔서 감사합니다.