RBAC и описание ролей в файле

Обсуждение документации. Переводы Cookbook и авторские рецепты.
Tim
Сообщения: 6
Зарегистрирован: 2009.10.09, 13:05

Re: RBAC и описание ролей в файле

Сообщение Tim »

Замечательные добавления в пост. !!! :!: :!: :!:
Albert
Сообщения: 3
Зарегистрирован: 2009.11.05, 09:44

Re: RBAC и описание ролей в файле

Сообщение Albert »

спасибо, очень помогло!

пс: md5 выдает хэш даже на пустую строку :x

Код: Выделить всё

protected function beforeValidate($on){
        if(mb_strlen($this->password)!==0)
              $this->password = md5($this->password);
        return true;
 } 
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: RBAC и описание ролей в файле

Сообщение samdark »

Пустая строка — тоже строка.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: RBAC и описание ролей в файле

Сообщение samdark »

Заменён путь к конфигу PhpAuthManager по умолчанию на Yii::getPathOfAlias('application.config.auth').'.php';

То есть файлик с иерархией будет храниться в директории с конфигами.

http://yiiframework.ru/doc/cookbook/ru/access.rbac.file
Виталий
Сообщения: 36
Зарегистрирован: 2009.06.16, 23:21

Re: RBAC и описание ролей в файле

Сообщение Виталий »

Почему обязательно надо было переписывать? Почему нельзя было оставить и старую версию, и показать новую?
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: RBAC и описание ролей в файле

Сообщение samdark »

Потому как подход старой версии уж точно не лучше подхода новой.
andry
Сообщения: 224
Зарегистрирован: 2009.11.08, 16:52

Re: RBAC и описание ролей в файле

Сообщение andry »

спасибо, благодаря вашей статьи уже начинаю осваиваться, вот только роли что хранятся в файле auth.php я планирую перенести в отдельную таблицу Role в БД, как я понимаю она должна иметь такие поля: id,type,description,children ещё должна таблица Group с такими полями: id,name,id_role а также таблица Users с дополнительным полем id_group

Вот только пока не могу сообразить, как правильно связать всё это вместе, по вашей статье
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: RBAC и описание ролей в файле

Сообщение samdark »

Мой рецепт исключительно про хранение ролей в файлах. Если требуется хранить роли в БД: http://yiiframework.ru/doc/guide/ru/topics.auth
Hit Sheppans
Сообщения: 2
Зарегистрирован: 2009.12.23, 15:09
Контактная информация:

Re: RBAC и описание ролей в файле

Сообщение Hit Sheppans »

Объясните пожалуйста, каким образом происходит присвоение ролей пользователям в данном примере?
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: RBAC и описание ролей в файле

Сообщение samdark »

При авторизации пользователя роль вытаскивается из таблицы User.role и кладётся в Yii::app()->user->role. Далее после разбора запроса выполняется код, который назначает роль:

Код: Выделить всё

$this->assign(Yii::app()->user->role, Yii::app()->user->id);
 
Hit Sheppans
Сообщения: 2
Зарегистрирован: 2009.12.23, 15:09
Контактная информация:

Re: RBAC и описание ролей в файле

Сообщение Hit Sheppans »

Это понятно, не понятно как раз где выполняется этот код
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: RBAC и описание ролей в файле

Сообщение samdark »

Посмотрите http://yiiframework.ru/doc/cookbook/ru/access.rbac.file, оттуда видно, что выполняется он в методе init() класса PhpAuthManager, т.е. при инициализации менеджера авторизации.
Q-Zma
Сообщения: 2
Зарегистрирован: 2009.12.27, 12:50

Re: RBAC и описание ролей в файле

Сообщение Q-Zma »

ребяты, а у меня вываливается экзепшн Undefined index: bizRule при попытке использовать accessRules в контроллере, это в рецепте что-то недоописано?
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: RBAC и описание ролей в файле

Сообщение samdark »

В рецепте всё дописано. Такая проблема действительно может возникать, но причины её я лично не понял т.к. не смог её воспроизвести. Проверял на Yii 1.0 и 1.1.

Решение — включить в массив пустой 'bizRule' => ''.
ATI
Сообщения: 69
Зарегистрирован: 2009.09.27, 12:35

Re: RBAC и описание ролей в файле

Сообщение ATI »

Мне мистически помог в данной проблеме error_reporting(E_ALL & ~E_NOTICE);
Q-Zma
Сообщения: 2
Зарегистрирован: 2009.12.27, 12:50

Re: RBAC и описание ролей в файле

Сообщение Q-Zma »

в 1.1 метод beforeValidate класса CModel не имеет параметров, если генеришь для этой модели crud, то при update вываливается экзепшн
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: RBAC и описание ролей в файле

Сообщение samdark »

А причём тут RBAC?
Pinocchio
Сообщения: 5
Зарегистрирован: 2010.01.26, 00:52

Re: RBAC и описание ролей в файле

Сообщение Pinocchio »

Здравствуйте,

Скажите, пожалуйста. Вот в примере в файле protected/config/auth.php описываются роли guest, user, moderator, administrator. А в модели User описываются вот эти:

Код: Выделить всё

    const ROLE_ADMIN = 'admin';
    const ROLE_MODER = 'moder';
    const ROLE_USER = 'user';
    const ROLE_BANNED = 'banned';
 
1. Почему они разные? Я чего-то не понимаю или это просто пример?
2. Зачем это нужно в модели User и как это можно использовать?

Спасибо большое!
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: RBAC и описание ролей в файле

Сообщение samdark »

Замечательно, что заметили.
1. Привёл роли к единому виду. Была ошибочка в рецепте.
2. Нужно исключительно для удобства. Чтобы не описаться в названии роли + автодополнение будет работать в IDE. Используется как User::ROLE_ADMIN вместо 'administrator'.
Pinocchio
Сообщения: 5
Зарегистрирован: 2010.01.26, 00:52

Re: RBAC и описание ролей в файле

Сообщение Pinocchio »

Спасибо за объяснение!
Ответить