Создаём проект согласно инструкции на оф. сайте
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
После авторизации должно показать панель управления пользователями и доступами