wdmg/yii2-rbac

RBAC management module for Yii2

Installs: 7

Dependents: 0

Suggesters: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

Type:yii2-extension

1.0.3 2019-02-28 17:37 UTC

README

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.13 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'
    ],
    ...
],

If you have connected the module not via a composer add Bootstrap section:

$config['bootstrap'][] = 'wdmg\rbac\Bootstrap';

[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.0.4 - Added dashboard navigation items for NavBar
  • v.1.0.3 - Fixing tables names in migrations
  • v.1.0.2 - Bugfix and refactoring
  • v.1.0.1 - Added some new methods, selectbox for view inputs, translations
  • v.1.0.0 - First pre-release