deanar
(Rsniper)
August 6, 2009, 4:51pm
1
Изучил документацию RBAC, почитал темы на форуме, но так и не смог найти ответ на вопрос.
Мне необходимо сделать так, чтобы можно было взять любого пользователя на сайте, сделать его администратором и назначить ему совершенно любые права из списка. Возможно ли сделать такое, используя RBAC?
Demyan
(Realdemyan)
August 7, 2009, 7:10am
2
CAuthManager->assign(string $itemName, mixed $userId, string $bizRule=NULL, mixed $data=NULL)?
deanar
(Rsniper)
August 7, 2009, 8:56am
3
Если использовать только первые 2 параметра, то это будет присвоение уже созданных ролей.
Как я понимаю, вы мне хотите сказать про третий параметр ($bizRule) ?
$bizRule - {string}, the business rule to be executed when checkAccess is called for this particular authorization item.
Как мне использовать его?
pirrat
(Pstudia)
September 13, 2009, 5:13pm
4
Не стал создавать новую тему, спрошу тут, по RBAC.
Мне не совсем понятно, как реализована встроенная система RBAC, и как сделать то что я хочу.
Есть задача(Task), например: Post Managment
у задачи есть операции(Operation): createPost, updatePost, deletePost, readPost
так же есть три роли(Role): guest, user, admin
нужно сделать допустим так, что б роль guest мог выполнить только операцию readPost.
роль user мог выполнить только операции readPost, createPost, updatePost.
а роль admin мог выполнить все операции этой задачи.
Правильно я понимаю, что встроенные средства не позволяют такое реализовать и придется для
каждой роли создавать новую задачу Post Managment, а уже к задачи добавлять разрешенные операции для этой роли?
Toxa
(Toxa Saratov)
September 13, 2009, 8:50pm
5
pirrat:
Не стал создавать новую тему, спрошу тут, по RBAC.
Мне не совсем понятно, как реализована встроенная система RBAC, и как сделать то что я хочу.
Есть задача(Task), например: Post Managment
у задачи есть операции(Operation): createPost, updatePost, deletePost, readPost
так же есть три роли(Role): guest, user, admin
нужно сделать допустим так, что б роль guest мог выполнить только операцию readPost.
роль user мог выполнить только операции readPost, createPost, updatePost.
а роль admin мог выполнить все операции этой задачи.
Правильно я понимаю, что встроенные средства не позволяют такое реализовать и придется для
каждой роли создавать новую задачу Post Managment, а уже к задачи добавлять разрешенные операции для этой роли?
Необязательно, можно ролям назначать операции а не только задачи, также роли могут наследовать задачи из других ролей
В вашем случае необходимо назначить для guest операциию readPost, затем для роли user необходимо добавить child
gues (содержит readPost) и задачи createPost, updatePost ну а админу добавляем user и deletePost
pirrat
(Pstudia)
September 14, 2009, 6:24am
6
Ясно. спасибо большое за объяснение. Все таки это не то что хотелось бы мне видеть - будем реализовывать свою систему RBAC.
Хочу разделить сущности - роль, ресурс, операция над ресурсом, и правила связывающие роль и операцию, а так же возможно правила связывающие конкретного пользователя и операцию.
и все это описать в бд . (реализую движок форума).