Создаём проект согласно инструкции на оф. сайте
composer.phar global require "fxp/composer-asset-plugin:^1.2.0" composer.phar create-project yiisoft/yii2-app-advanced shop cd shop ./init
На вопросы отвечаем:
Your choice [0-1, or "q" to quit] 0 Initialize the application under 'Development' environment? [yes|no] y
Затем создаем базу данных
mysqladmin -uroot create shop
Устанавливаем usuario согласно оф. документации
composer require 2amigos/yii2-usuario
Добавляем пути к миграциям
В console/config/main.php добавляем
'controllerMap' => [ ... 'migrate' => [ 'class' => \yii\console\controllers\MigrateController::class, 'migrationNamespaces' => [ 'Da\User\Migration', ], ], ],
В backend/config/main.php добавляем
'components' => [ ... 'authManager' => [ 'class' => 'yii\rbac\DbManager', ],
В common/config/main.php добавляем
'modules' => [ 'user' => [ 'class' => Da\User\Module::class, 'administratorPermissionName' => 'fullAccess', ] ]
Удаляем стартовую миграцию yii
rm console/migrations/m130524_201442_init.php
Запускаем миграции
./yii migrate --migrationPath=@yii/rbac/migrations
Изменяем настройки identityClass в backend/config/main.php
'components' => [ ... 'user' => [ 'identityClass' => Da\User\Model\User::class, // здесь раньше было 'common\models\User'
Создаём администратора c почтой admin@shop.lo логином admin и паролем 123456
./yii user/create admin@shop.lo admin 123456
Создаём команду для генерации базового доступа согласно оф. документации
console/controllers/RbacController.php
< ?php namespace console\controllers; use Yii; use yii\console\Controller; class RbacController extends Controller { public function actionInit() { $auth = Yii::$app->authManager; $fullAccessPerm = $auth->createPermission(Yii::$app->getModule('user')->administratorPermissionName); $fullAccessPerm->description = 'Полный доступ'; $auth->add($fullAccessPerm); $admin = $auth->createRole('admin'); $auth->add($admin); $auth->addChild($admin, $fullAccessPerm); $auth->assign($admin, 1); } }
Запускаем её
./yii rbac/init
Проверяем
Заходим на http://backend.shop.lo/index.php?r=user%2Fadmin%2Findex
После авторизации должно показать панель управления пользователями и доступами
Комментариев нет:
Отправить комментарий