lawiet/yii2-rolemanager

基于访问菜单的RBAC

安装: 94

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

类型:yii2-extension

dev-master 2018-12-04 21:09 UTC

This package is auto-updated.

Last update: 2024-08-29 04:25:39 UTC


README

用于与Yii2一起使用角色管理器的组件

安装

安装此扩展的首选方式是通过 composer

运行以下命令之一

php composer.phar require lawiet/yii2-rolemanager "dev-master"

或向您的 composer.json 文件的require部分添加

"minimum-stability": "dev",
"prefer-stable": true,
require: {
...
    "lawiet/yii2-rolemanager": "@dev"
...
}

角色配置

在文件 web.php

    <?php
	....
    'user' => [
        'identityClass' => 'lawiet\rbac\models\User',
        'enableAutoLogin' => true,
        //'authTimeout' => 30,
    ],
	....
	'modules' => [
		'rbac' => [
			'class'=>'lawiet\rbac\Module',
			'excludes'=>[
				//'modules' => ['test'], //List id Modules to RBAC exclude
				//'controllers' => ['test.default'], //List id controllers to RBAC exclude module.controller
				//'actions' => ['test.default.index'], //List id action to RBAC exclude module.controller.action
			],
			'menu'=>[
				'icon'=>true, // boolean show icon true or false. Default: true
			],
		],
	],
	...
    ?>

在每个文件 controllers/xxxController.php 中将 yii\web\Controller 替换为 lawiet\rbac\web\Controller

    <?php
	....
	use lawiet\rbac\web\Controller;

	class xxxController extends Controller {
	...
    ?>

并移除方法 behaviors 或修改并添加方法 parent

    <?php
	....
	class xxxController extends Controller {
	....
	public function behaviors()
	{
		return parent::behaviors();
	}
	...
    ?>

在布局中动态生成主要菜单,添加

    <?php
	....
	use lawiet\rbac\web\Access;

	....
	NavBar::begin([
		'brandLabel' => Yii::t('app', 'My Company'),
		'brandUrl' => Yii::$app->homeUrl,
		'options' => [
			'class' => 'navbar-inverse navbar-fixed-top',
		],
	]);
	echo Nav::widget(Access::getPrincipalMenu());
	NavBar::end();
	...
    ?>

运行命令

php yii migrate  --migrationPath=@lawiet/rbac/migrations --interactive=0