2011-12-01 2 views
0

이는 아이디어는 사용자 역할 권한사용자 역할 데이터 구조

permissions 
    id 
    name = The name of the __ACTION__ like, "UpdateNews" or something like that 

roles 
id 
name = Guest/Admin/etc. 

role_permissions //connect the roles with permissions 
role_id 
permission_id 

내 구조이다 나는 이런 식으로 뭔가 할 것을 : 이제

$user->hasPermission('updateNews') !== false 
// do stuff 

, 이것은 사용자에게 모든 권한을 부여 나 요구를, 그게 필요합니다, 그게, 내가 "관리자"라는 역할을 가지고 있다고 가정 해 봅시다. 그에게 모든 권한을 부여하고 싶습니다. 모든 행을 추가하는 대신 빠른 방법으로 가장 쉽고 최선의 방법은 어떻게 할 수 있습니까? 그리고 그 동안 우리 사용자 역할 접근법이 좋았습니까?

답변

0

흠, 관리자는 hasPermission 메서드를 재정의 할 수있는 클래스/메서드를 가질 수 있습니다. 그리고이 접근법에 대해 모든 호출 전에 자신의 코드를 검사하는 대신 aspect 지향 프로그래밍과 같은 기술을 사용하십시오.

http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5734277

(참고 : 문서 수 있습니다 약간의 과잉)