2014-01-05 76 views
0

我正在使用YII框架。Yii複雜授權

比方說,我們有:

  • 視頻控制器
  • PhotoController
  • ContentController
  • CategoryController

我需要的是基於控制器組的權限來創建用戶的訪問控制系統。我的意思是,可以說,用戶名爲john誰是超級管理員,可以訪問所有的控制器,而用戶名爲jessy誰是編寫角色的用戶只能訪問內容控制器。

我搜索了很多。並且發現了一些關於RBAC的博文,這些博文非常複雜。有沒有關於此的好博客帖子?有什麼建議麼?

+0

從http://www.yiiframework.com/wiki/328/simple-rbac/開發一些技巧。如果它不能幫助你,請告訴我來幫助你。 –

回答

0

首先,恕我直言RBAC簡化了你的生活。其理解或實施並不複雜。

就實現過程而言,我建議您使用現成的擴展來管理RBAC樹,即使它們沒有缺陷(它們確實完成了工作 - 管理樹,它們有UI問題,至少我的口味)。結帳RBAM和SRBAC。

現在對於你的主要事件,我會安排你的許可的樹如下:

admin (role) 
^ 
| 
-- Content Editor (role) <---------------- 
| ^         | 
| |          | 
| -- Create content (task)    | 
| -- Update content (task)    -< Authenticated user (role) <--- Guest user (role) 
| -- Delete content (task)    |        ^
| -- and so on...      |         | 
|           |         -- view content (task)           | 
-- Category Editor (role) <----------------         -- login (task) 
    ^
    | 
    -- Create category (task) 
    -- and so on... 

樣品RBAC樹上面演示角色這是因爲你可能想象,那些可以從其他角色繼承,正如你所期望的樹形結構和'包含'任務一樣。 這只是組織您的權限/授權樹的一種方法。 TIMTOWTDI ...。 我也跳過詳細說明'認證用戶'角色的有意義的任務,但當然可能會有這樣的。

退房this post