Pull to refresh
10
0
Олег Шабашов @WindDrop

User

Send message

Настройка Yii2 RBAC

Reading time6 min
Views136K

Задача


Настроить использование RBAC в Yii2.

Условия


Список возможных ролей:
  • guest — не авторизованный юзер;
  • BRAND — авторизованный юзер, наследует разрешения роли guest и имеет свои уникальные разрешения;
  • TALENT — авторизованный юзер, наследует разрешения роли guest и имеет свои уникальные разрешения;
  • admin — авторизованный юзер, наследует разрешения ролей guest, BRAND и TALENT и имеет свои уникальные разрешения.
  • Роль определяется полем group в модели UserExt;
  • Роли имеют вложенную структуру — одна роль может наследовать разрешения другой;
  • Используется yii\rbac\PhpManager;
  • Не использовать назначение роли юзеру по его ID — вместо этого использовать несколько предустановленных ролей (defaultRoles);
  • Генерирование конфига «роль-разрешения» будет делать консольная команда yii;
  • Будут использованы расширенные правила (Rules) для разрешений.


Предварительная настройка


app/config/console.php
'components' => [
    // ...
    'authManager' => [
        'class' => 'yii\rbac\PhpManager',
    ],
    // ...
],


app/config/web.php
'components' => [
    // ...
    'authManager' => [
        'class' => 'yii\rbac\PhpManager',
        'defaultRoles' => ['admin', 'BRAND', 'TALENT'], // Здесь нет роли "guest", т.к. эта роль виртуальная и не присутствует в модели UserExt
    ],
    // ...
],


Создать директорию @app/rbac — именно в ней будут находиться разрешения и правила.
Читать дальше →
Total votes 14: ↑11 and ↓3+8
Comments18

Личный опыт Web разработки в Mac OS X

Reading time3 min
Views128K
Привет Хабр!

По мотивам вот этой статьи

Как веб-разработчик, выбравший Mac OS X в качестве основного рабочего инструмента, я столкнулся с проблемой настройки необходимого окружения. По многолетней привычке работы с серверами на Linux, руки сами потянулись в консоль дабы все поставить, но остановились — постойте, постойте, но зачем мне превращать эту операционку в очередной Linux сервер? Мне этого шаманства с консолью на серверах хватает, спасибо. Будем использовать встроенные компоненты, насколько это возможно.
Поехали
Total votes 37: ↑14 and ↓23-9
Comments27

Information

Rating
Does not participate
Location
Россия
Registered
Activity