2014-01-05 4 views
0

Я работаю с каркасом YII.Yii комплексное разрешение

Допустим, мы имеем:

  • видеоконтроллер
  • PhotoController
  • ContentController
  • CategoryController

Что мне нужно, чтобы создать систему контроля доступа пользователей на основе привилегий групповой контроллер. Я имею в виду, скажем, пользователь с именем john, который является супер-администратором, может получить доступ ко всем контроллерам, тогда как пользователь с именем jessy, который является пользователем роли автора, может получить доступ только к контроллеру контента.

Я много гулял. И нашел несколько blogposts о RBAC, которые очень сложно понять. Есть ли хорошие блогпосты об этом? какие-либо предложения?

+0

Разработайте некоторые трюки с http://www.yiiframework.com/wiki/328/simple-rbac/. Если это вам не поможет, сообщите мне, чтобы помочь вам. –

ответ

0

Во-первых, IMHO RBAC упрощает вашу жизнь. Его не сложно понять или реализовать.

Что касается реализации, я рекомендую управлять деревом RBAC с готовыми расширениями, даже если они не являются ошибками (они выполняют задание - управление деревом). У них есть проблемы с пользовательским интерфейсом, по крайней мере im мой вкус). Оформить заказ 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.

Смежные вопросы