Skip to content
Yii2 RBAC module with generating assignments to DB from RBAC data store file rbac.php
PHP
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
components
console/controllers
rules
.gitignore
Bootstrap.php
LICENSE
Module.php
composer.json
readme.md

readme.md

Yii2 RBAC module

Yii2 RBAC module with generating assignments to DB from RBAC data storage files. Also "classic" PhpManager is available.

Installation

Composer

The preferred way to install this extension is through Composer.

Either run

php composer.phar require zelenin/yii2-rbac-module "dev-master"

or add

"zelenin/yii2-rbac-module": "dev-master"

to the require section of your composer.json

Usage

DbManager

Configure AuthManager component in config:

'components' => [
    'authManager' => [
        'class' => \Zelenin\yii\modules\Rbac\components\DbManager::className(),
        'itemFile' => '@common/config/rbac/items.php',
        'assignmentFile' => '@common/config/rbac/assignments.php',
        'ruleFile' => '@common/config/rbac/rules.php',
        'defaultRole' => 'user',
		'roleParam' => 'role' // User model attribute
	]
]

Run:

php yii migrate --migrationPath=@yii/rbac/migrations/

or use sql file in @yii/rbac/migrations/

For generating assignments from php storage files run

php yii rbac/generate

For storage files examples see example directory

PhpManager

Configure AuthManager component in config:

'components' => [
    'authManager' => [
        'class' => \Zelenin\yii\modules\Rbac\components\PhpManager::className(),
        'itemFile' => '@common/config/rbac/items.php',
        'assignmentFile' => '@common/config/rbac/assignments.php',
        'ruleFile' => '@common/config/rbac/rules.php',
        'defaultRole' => 'user',
		'roleParam' => 'role', // User model attribute
	]
]

Info

See Yii2 authorization guide

Author

Aleksandr Zelenin, e-mail: aleksandr@zelenin.me

You can’t perform that action at this time.