itstructure / yii2-rbac-module
Module to manage roles and permissions for the Yii2 Framework.
Installs: 323
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 0
Open Issues: 1
Type:package
Requires
- php: >=7.1.0
- yiisoft/yii2: 2.*
- yiisoft/yii2-bootstrap: ^2.0
README
Introduction
RBAC module - Module for the Yii2 framework, which provides management with the next data:
- Roles
- Permissions
- Assign roles for users(profiles)
Dependencies
- php >= 7.1
- composer
- MySql >= 5.5
Installation
General from remote repository
Via composer:
composer require itstructure/yii2-rbac-module "~3.0.5"
If you are testing this package from local server directory
In application composer.json
file set the repository, like in example:
"repositories": [ { "type": "path", "url": "../yii2-rbac-module", "options": { "symlink": true } } ],
Here,
yii2-rbac-module - directory name, which has the same directory level like application and contains yii2 rbac module.
Then run command:
composer require itstructure/yii2-rbac-module:dev-master --prefer-source
Addition components
In accordance with the documentation for Yii2, set authManager for application:
'components' => [ 'authManager' => [ 'class' => 'yii\rbac\DbManager', ], // ... ],
In accordance with the documentation for Yii2, run command:
yii migrate --migrationPath=@yii/rbac/migrations
Usage
Main properties
-
The name of module:
rbac
-
The namespace for used classes:
Itstructure\RbacModule
. -
The alias to access in to module root directory:
@rbac
. -
There is not a layout ! It's taken from application layout main by default or how it is configured. You cat set
layout
attribute in module by custom. -
View component is taken by default from the framework like yii\web\View. You cat set view component in module by custom.
Application config
Base application config must be like in example below:
use Itstructure\RbacModule\Module; use Itstructure\RbacModule\controllers\{RoleController, PermissionController, ProfileController};
'modules' => [ 'rbac' => [ 'class' => Module::class, 'controllerMap' => [ 'roles' => RoleController::class, 'permissions' => PermissionController::class, 'profiles' => ProfileController::class, ], ], ],
Useful module attributes
You can set the following attributes in a module config:
loginUrl
- set url to be redirected if you are not authorized.accessRoles
- The roles of users who are allowed access to work with this package.urlPrefix
- Url prefix for redirect and view links (Default is empty).urlPrefixNeighbor
- Url prefix for redirect and view links of neighbor entity (Default is empty).
License
Copyright © 2018-2023 Andrey Girnik girnikandrey@gmail.com.
Licensed under the MIT license. See LICENSE.txt for details.