사용자 및 그룹으로 데이터베이스를 작성하기위한 기본 모델은 무엇입니까? 사이트의 기본 보안 시스템에

웹 사이트의 기본 보안 시스템에 가장 적합한 방법을 찾으려고합니다. 사용자와 그룹을 원한다는 것을 알고 있습니다.

나는 내가 가질 것이라고 생각했다.

user_table
user_id
user_name
...

group_type
group_id
group_name
parent_id
...

group_table
id
user_id
group_id

첫 번째는 사용자이고, 두 번째는 그룹이며, 세 번째는 둘을 연결하는 중개 테이블입니다. 한 명의 사용자가 여러 그룹을 가지고 있습니다.

괜찮습니까?



답변

이를 모델링하는 전통적인 방법은 Role-Based Security 라는 패턴을 사용하는 것입니다 .

아이디어는 사용자 그룹뿐만 아니라 권한 그룹도 갖는 것입니다. 패턴의 모양은 다음과 같습니다.

역할 기반 보안 ERD

테이블 이름에 예약어를 사용하지 않으려면 다이어그램에 표시된대로 테이블 이름을 정확하게 지정하지 마십시오.

작동 방식은 그룹 또는 역할에 할당 된 사용자 목록뿐만 아니라 할당 된 권한 목록도 가지고 있다는 것입니다. 이것은 당신이 나를 따라갈 수 있다면 누가 무엇을 할 수 있는지, 무엇을 할 수 있는지를 테이블 구동 할 수있게합니다.


답변