/yii2-rbac

RBAC management module for Yii2

Primary LanguagePHPMIT LicenseMIT

Progress Github all releases GitHub version Progress GitHub license

Yii2 RBAC Module

RBAC management module for Yii2

Requirements

  • PHP 5.6 or higher
  • Yii2 v.2.0.20 and newest
  • Yii2 Users module

Installation

To install the module, run the following command in the console:

$ composer require "wdmg/yii2-rbac:dev-master"

After configure db connection, run the following command in the console:

$ php yii rbac/init

And select the operation you want to perform:

  1. Apply all module migrations
  2. Add base roles and rules for users
  3. Revert all module migrations

Migrations

In any case, you can execute the migration and create the initial data, run the following command in the console:

$ php yii migrate --migrationPath=@vendor/wdmg/yii2-rbac/migrations

Configure

To add a module to the project, add the following data in your configuration file:

'components' => [
    ...
    'authManager' => [
        'class' => 'yii\rbac\DbManager',
        ...
    ],
    ...
],
'modules' => [
    ...
    'rbac' => [
        'class' => 'wdmg\rbac\Module',
        'routePrefix' => 'admin'
    ],
    ...
],

[Notice] You should configure "authManager" component in config to use database before executing migrations.

Routing

Use the Module::dashboardNavItems() method of the module to generate a navigation items list for NavBar, like this:

<?php
    echo Nav::widget([
    'options' => ['class' => 'navbar-nav navbar-right'],
        'label' => 'Modules',
        'items' => [
            Yii::$app->getModule('rbac')->dashboardNavItems(),
            ...
        ]
    ]);
?>

Status and version [in progress development]

  • v.1.1.6 - Added extra options to composer.json and navbar menu icon
  • v.1.1.5 - Added choice param for non interactive mode
  • v.1.1.4 - Module refactoring