s4studio / yii2-rbac-plus
yii2的数据库角色基础访问控制管理器
1.1.2
2020-04-29 13:55 UTC
Requires
- johnitvn/yii2-ajaxcrud: >=2.0.0
- yiisoft/yii2: >=2.0.20
README
yii2的数据库角色基础访问控制管理器
功能
- 对角色、权限和规则进行CRUD操作
- 允许为用户分配多个角色
- 提供美观的视图以立即集成
安装
安装此扩展的首选方式是通过 composer。
运行以下命令之一:
php composer.phar require --prefer-dist s4studio/yii2-rbac-plus "dev-master"
或者添加
"s4studio/yii2-rbac-plus": "dev-master"
到您的 composer.json
文件的 require 部分。
使用方法
- 让我们将以下内容添加到主配置文件中的模块配置
'components' => [
'authManager' => [
'class' => 'yii\rbac\DbManager',
],
],
'modules' => [
'rbac' => [
'class' => 's4studio\rbacplus\Module'
]
]
然后,更新数据库模式
$ php yii migrate/up --migrationPath=@yii/rbac/migrations
好了。完成。现在可用的路由有
- /rbac/rule
- /rbac/permission
- /rbac/role
- /rbac/assignment
- 可用的模块配置
'modules' => [
'rbac' => [
'class' => 's4studio\rbacplus\Module',
'userModelClassName' => null,
'userModelIdField' => 'id',
'userModelLoginField' => 'username',
'userModelLoginFieldLabel' => null,
'userModelExtraDataColumls' => null,
'beforeCreateController' => null,
'beforeAction' => null
]
],
- userModelClassName: 用户模型类。
如果您未设置或设置为null,则 RBAC Plus 将从Yii::$app->getUser()->identityClass
获取 - userModelIdField: 用户模型ID字段。
默认ID字段是 'id',如果您数据库中用户表的主键不是 'id',则必须设置此配置 - userModelLoginField 用户模型登录字段。
默认登录字段是 'username'。也许您使用电子邮件字段或其他字段进行登录。因此,您必须更改此配置 - userModelLoginFieldLabel 用户模型登录字段标签。
如果设置为null,则标签将根据$userModelClass->attributeLabels()[$userModelLoginField]
获取 - userModelExtraDataColumls 您希望在用户分配视图中显示的额外数据列。
默认情况下,分配数据网格视图仅显示id和登录列数据。如果您想添加created_at列,可以添加
'userModelExtraDataColumls' => [ [ 'attributes' => 'created_at', 'format' => 'datetime', ] ],
- beforeCreateController 在 RBAC Plus 模块的任何控制器创建之前可调用的函数。默认为null。当您想要限制对 RBAC Plus 模块的访问时,需要配置此选项。
示例
'beforeCreateController' => function($route) { /** *@var string $route The route consisting of module, controller and action IDs. */ }
- beforeAction 在 RBAC Plus 模块中所有控制器中的操作之前可调用的函数。
默认为null。当您想要限制对 RBAC Plus 模块中某些控制器中任何操作的访问时,需要配置此选项。
示例
'beforeAction' => function($action) { /** *@var yii\base\Action $action the action to be executed. */ }