2013-07-01 2 views
2

역할 및 사용 권한을 관리하려고합니다. 웹 디자인의 대부분이어떤 역할 - 권한 데이터베이스 설계?

테이블과 같이 : 여기

Users 
Roles 
UserRoles 
Permissions 
RolePermissions 

permissions 무엇인가? 내가 대신 같은 디자인에 대한 생각하고있다 : 가정된다

id |  name 

permissions 동안 :이 설계에서

Users 
Roles 
UserRoles 
Permissions 

, Roles가 있어야하는데

ID | role_id | 섹션 | 조치

permissions은 어떤 섹션의 어떤 역할이 어떤 조치 제어를 갖는지 정의합니다.

id | role_id | section | action 

1 |  2  | posts | edit 
2 |  2  | posts | add 
3 |  2  | posts | delete 
4 |  3  | users | approve 
5 |  3  | users | edit 
6 |  4  | articles | delete 
7 |  2  | users | givepermission 

여분의 테이블과 숫자 대신 두 개의 문자열을 사용합니다. 또한 PHP에서 확인하는 것이 더 쉬워 보입니다.

이 디자인에 문제가 있습니까? 그리고 그것은 당신의 경험에 따라 당신에게 추천입니까?

답변

-1

디자인이 권장되는지 여부는 해결하려는 문제에 따라 다릅니다. 그러나 디자인은 RESTful 응용 프로그램에 적합하며 복원력이 있어야합니다.

권한 테이블의 경우 문자열 대신 bitmask을 사용하는 것이 좋습니다.