RBAC Manager for Yii 2 ¶
Documentation ¶
Installation ¶
The preferred way to install this extension is through composer.
Either run
php composer.phar require mdmsoft/yii2-admin "*"
for dev-master
php composer.phar require mdmsoft/yii2-admin "dev-master"
or add
"mdmsoft/yii2-admin": "*"
to the require section of your composer.json
file.
Usage ¶
Once the extension is installed, simply modify your application configuration as follows:
return [
'modules' => [
'admin' => [
'class' => 'mdm\admin\Module',
'layout' => 'left-menu', // avaliable value 'left-menu', 'right-menu' and 'top-menu'
'controllerMap' => [
'assignment' => [
'class' => 'mdm\admin\controllers\AssignmentController',
'userClassName' => 'app\models\User',
'idField' => 'user_id'
]
],
'menus' => [
'assignment' => [
'label' => 'Grand Access' // change label
],
'route' => null, // disable menu
],
]
...
],
...
'components' => [
....
'authManager' => [
'class' => 'yii\rbac\PhpManager', // or use 'yii\rbac\DbManager'
]
],
'as access' => [
'class' => 'mdm\admin\components\AccessControl',
'allowActions' => [
'admin/*', // add or remove allowed actions to this list
]
],
];
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 menu manager (optional). Execute yii migration here:
yii migrate --migrationPath=@mdm/admin/migrations
If You use database (class 'yii\rbac\DbManager') to save rbac data. Execute yii migration here:
yii migrate --migrationPath=@yii/rbac/migrations
Class Reference
Class | Description |
---|---|
mdm\admin\AdminAsset | AdminAsset |
mdm\admin\Module | GUI manager for RBAC. |
mdm\admin\components\AccessControl | Access Control Filter (ACF) is a simple authorization method that is best used by applications that only need some simple access control. |
mdm\admin\components\Configs | Configs Used for configure some value. To set config you can use \yii\base\Application::$params |
mdm\admin\components\DbManager | DbManager represents an authorization manager that stores authorization information in database. |
mdm\admin\components\MenuHelper | MenuHelper used to generate menu depend of user role. |
mdm\admin\components\RouteRule | RouteRule Rule for check route with extra params. |
mdm\admin\controllers\AssignmentController | AssignmentController implements the CRUD actions for Assignment model. |
mdm\admin\controllers\DefaultController | DefaultController |
mdm\admin\controllers\MenuController | MenuController implements the CRUD actions for Menu model. |
mdm\admin\controllers\PermissionController | AuthItemController implements the CRUD actions for AuthItem model. |
mdm\admin\controllers\RoleController | AuthItemController implements the CRUD actions for AuthItem model. |
mdm\admin\controllers\RouteController | Description of RuleController |
mdm\admin\controllers\RuleController | Description of RuleController |
mdm\admin\models\AuthItem | This is the model class for table "tbl_auth_item". |
mdm\admin\models\BizRule | BizRule |
mdm\admin\models\Menu | This is the model class for table "menu". |
mdm\admin\models\Route | Route |
mdm\admin\models\searchs\Assignment | AssignmentSearch represents the model behind the search form about Assignment. |
mdm\admin\models\searchs\AuthItem | AuthItemSearch represents the model behind the search form about AuthItem. |
mdm\admin\models\searchs\BizRule | Description of BizRule |
mdm\admin\models\searchs\Menu | Menu represents the model behind the search form about mdm\admin\models\Menu. |