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

Обсуждение документации. Переводы Cookbook и авторские рецепты.
Аватара пользователя
lancecoder
Сообщения: 2532
Зарегистрирован: 2012.06.26, 17:16

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

Сообщение lancecoder »

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

'bizRule'=> Yii::app()->user->id==$params["post"]->author_id,
bizRule
Byka
Сообщения: 3
Зарегистрирован: 2012.08.12, 02:58

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

Сообщение Byka »

Можете короткий пример привести? Только описание - Вы имеете ввиду

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

'administrator' => array(
        'type' => CAuthItem::TYPE_ROLE,
        'description' => 'Administrator',
        'children' => array(
            'moderator',         // позволим админу всё, что позволено модератору
            'deleteComments',
        ), 
а ниже

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

'deleteComments'=>array(
            'type'=>CAuthItem::TYPE_ROLE,
            'description'=>'Del comments',
            ),
'bizRule'=> Yii::app()->user->id==$params["post"]->author_id,
 
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

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

Сообщение samdark »

Да.
Аватара пользователя
lancecoder
Сообщения: 2532
Зарегистрирован: 2012.06.26, 17:16

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

Сообщение lancecoder »

bizRule в кавычках или callback функция (php > 5.3.0)
Byka
Сообщения: 3
Зарегистрирован: 2012.08.12, 02:58

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

Сообщение Byka »

Спасибо:)
Tpona
Сообщения: 222
Зарегистрирован: 2011.06.05, 19:00

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

Сообщение Tpona »

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

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

Сообщение samdark »

Если через админку, лучше сразу взять стандартный RBAC для базы.
Tpona
Сообщения: 222
Зарегистрирован: 2011.06.05, 19:00

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

Сообщение Tpona »

Где взять? )
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

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

Сообщение slavcodev »

Жду Yii 3!
Tpona
Сообщения: 222
Зарегистрирован: 2011.06.05, 19:00

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

Сообщение Tpona »

А то есть я статьей ошибся ) Тут более простой метод авторизации с настройками из файла?
А мне сюда видимо: http://yiiframework.ru/doc/guide/ru/topics.auth
Аватара пользователя
TranceSmile
Сообщения: 562
Зарегистрирован: 2011.06.27, 19:04
Откуда: Украина
Контактная информация:

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

Сообщение TranceSmile »

Вот так можно получить данные для выпадающего списка

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

$listData = CHtml::listData(Yii::app()->authManager->AuthItems,'name','description');
CHtml::dropDownList($model,'role',$listData);
Может будет кому-то полезно
P.S. 100 сообщений :D
Изображение
skit
Сообщения: 135
Зарегистрирован: 2012.10.08, 12:50
Откуда: Сибирь
Контактная информация:

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

Сообщение skit »

Хороший рецепт. Использовал практически без изменений.
Если у кого-то, что-то не работает, смотрите внимательнее свой код. Рецепт, можно (практически) просто скопировать.
А.., там роли определяются константами в статическом классе модели, но я не видел практического применения этому. Может только добавить, что данный код, просто для удобства. И так, можно получить имя роли. Просто для кругозора. Что бы не болтался этот код беспризорным.

Спасибо.
Аватара пользователя
Venom4eg
Сообщения: 51
Зарегистрирован: 2011.09.26, 10:48
Откуда: Киев

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

Сообщение Venom4eg »

ikarushka писал(а):Сразу извиняюсь за глупые вопросы, только начал разбираться с Yii.

1) Для того чтобы роль из БД была доступна в Yii::app()->user->role. Не стал расширять CWebUser как описано в рецепте. А в UserIdentity.php сделал так:

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

$this->setState('role', $user->role);
Все работает, но правильно ли так делать?
Sam Dark писал(а):1) Нормально, но роль не будет меняться пока юзер не перелогинится.
В таком случае role попадет в куку, которая может быть модицирована на стороне клиента. Выходит можно будет залогиниться с другой ролью и соотв. с другими правами.
Да и в гайде написано
"Несмотря на то, что в Yii имеются средства для предотвращения подмены состояний в cookie на стороне клиента, не рекомендуется хранить в состояниях важную информацию. Гораздо более правильным решением будет хранение её в постоянном хранилище на стороне сервера (например, в БД)."
Аватара пользователя
maleks
Сообщения: 1992
Зарегистрирован: 2012.12.26, 12:56

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

Сообщение maleks »

В рецепте забыли упомянуть, что PhpAuthManager то же надо в конфиге main.php переопределить, как выше с WebUser.

Пример конечно был бы более полезен, если бы было рассмотрено наличие нескольких ролей у пользователя.
Nick
Сообщения: 1
Зарегистрирован: 2013.03.24, 01:19

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

Сообщение Nick »

Я правильно понял, что не составит труда заменить ActiveRecord на MongoDB (хотя бы с этим расширением http://www.yiiframework.com/extension/mongoyii/ или с этим http://php.net/manual/en/class.mongodb.php)? Достаточно лишь заменить все вызовы User::model()->... на аналогичные для работы с MongoDB?
barma3
Сообщения: 1
Зарегистрирован: 2013.04.30, 12:10

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

Сообщение barma3 »

Я только начинаю изучать Yii и очень нуждаюсь в совете профессионалов. Мне нужна простейшая система авторизации для форума, где есть администратор - первый зарегистрированный пользователь (user_id = 1), зарегистрированные пользователи (user_id > 1) и гости. Никак не могу сообразить, где именно нужно назначить роли? Можно ли по умолчанию назначить роль guest, а после аутентификации менять ее на user или admin?
dogma5203
Сообщения: 2
Зарегистрирован: 2013.07.02, 08:19

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

Сообщение dogma5203 »

добрый день. Недавно начал изучать yii
установил все по руководству, во время авторизации после нажатия кнопки Войти появляется вот такая ошибка
session_regenerate_id() [<a href='function.session-regenerate-id'>function.session-regenerate-id</a>]: Cannot regenerate session id - headers already sent

помогите разобраться.
Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

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

Сообщение futbolim »

Здравствуйте.
Начните с малого, а именно с создания блога. Не нужен Вам пока rbac
bestxp
Сообщения: 4
Зарегистрирован: 2013.07.02, 13:46

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

Сообщение bestxp »

Добрый день стал разбираться с rbac . собственно такой вопрос,
пойдем по коду примера

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

'manager' => array(
        'type' => CAuthItem::TYPE_ROLE,
        'description' => 'Manager',
        'children' => array(
            'user',          // позволим модератору всё, что позволено пользователю
        ),
        'bizRule' => null,
        'data' => null
    ),
    'admin' => array(
        'type' => CAuthItem::TYPE_ROLE,
        'description' => 'Administrator',
        'children' => array(
            'manager',         // позволим админу всё, что позволено модератору
        ),
        'bizRule' => null,
        'data' => null
    ),

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

if(Yii::app()->user->checkAccess('manager')){
            echo 'Wow i'm manager';
        }
ну,а у пользователя роль admin . соответственно , если судить по мануалу то у него всё верно, то я с ролью админ должен был увидеть всё что видит менеджер, или я тут не прав ?
Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

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

Сообщение futbolim »

так точно
Ответить