cuifox / yii2-admin
RBAC Auth manager for Yii2
Requires
- bower-asset/jquery-ui.autocomplete: ^1.10
- yiisoft/yii2: ~2.0.14
Requires (Dev)
- yiisoft/yii2-codeception: ~2.0
This package is not auto-updated.
Last update: 2025-03-04 04:48:17 UTC
README
Documentation
- Authorization Guide. Important, read this first before you continue.
- Basic Usage.
- Using Menu.
Installation
Install With Composer
The preferred way to install this extension is through composer.
Either run
php composer.phar require cuifox/yii2-admin:*
to the require section of your composer.json
file and execute php composer.phar update
.
Install From the Archive
Download the latest release from here releases, then extract it to your project. In your application config, add the path alias for this extension.
return [
...
'aliases' => [
'@CuiFox/admin => 'path/to/your/extracted',
// for example: '@CuiFox/admin' => '@app/extensions/CuiFox/yii2-admin-2.0.0',
...
]
];
Usage
Once the extension is installed, simply modify your application configuration as follows:
return [
'modules' => [
'admin' => [
'class' => 'CuiFox\admin\Module',
...
]
...
],
...
'components' => [
...
'authManager' => [
'class' => 'yii\rbac\PhpManager', // or use 'yii\rbac\DbManager'
]
],
'as access' => [
'class' => 'CuiFox\admin\components\AccessControl',
'allowActions' => [
'site/*',
'admin/*',
'some-controller/some-action',
// The actions listed here will be allowed to everyone including guests.
// So, 'admin/*' should not appear here in the production, of course.
// But in the earlier stages of your development, you may probably want to
// add a lot of actions here until you finally completed setting up rbac,
// otherwise you may not even take a first step.
]
],
];
See Yii RBAC for more detail. You can then access Auth manager through the following URL:
http://localhost/path/to/index.php?r=admin
http://localhost/path/to/index.php?r=admin/route
http://localhost/path/to/index.php?r=admin/permission
http://localhost/path/to/index.php?r=admin/menu
http://localhost/path/to/index.php?r=admin/role
http://localhost/path/to/index.php?r=admin/assignment
To use the menu manager (optional), execute the migration here:
yii migrate --migrationPath=@CuiFox/admin/migrations
If you use database (class 'yii\rbac\DbManager') to save rbac data, execute the migration here:
yii migrate --migrationPath=@yii/rbac/migrations
Customizing Controller
Some controller properties may need to be adjusted to the User model of your app.
To do that, change them via controllerMap
property. For example:
'modules' => [
'admin' => [
...
'controllerMap' => [
'assignment' => [
'class' => 'CuiFox\admin\controllers\AssignmentController',
/* 'userClassName' => 'app\models\User', */ // fully qualified class name of your User model
// Usually you don't need to specify it explicitly, since the module will detect it automatically
'idField' => 'user_id', // id field of your User model that corresponds to Yii::$app->user->id
'usernameField' => 'username', // username field of your User model
'searchClass' => 'app\models\UserSearch' // fully qualified class name of your User model for searching
]
],
...
]
...
],
Customizing Layout
'modules' => [
'admin' => [
...
'layout' => '@app/views/layouts/main.php',
...
],
...
],