v0lume / yii2-rbac
yii2 的数据库角色基于访问控制管理器
1.0.4
2015-09-04 21:40 UTC
Requires
- johnitvn/yii2-ajaxcrud: >=2.0.0
- yiisoft/yii2: >=2.0.4
Suggests
- v0lume/yii2-meta-tags: DB based model meta data for SEO
This package is not auto-updated.
Last update: 2024-10-02 10:48:35 UTC
README
yii2 的数据库角色基于访问控制管理器
特性
- 角色、权限和规则的 CRUD 操作
- 允许将多个角色分配给用户
- 便于立即集成的精美视图
- 与 Yii2-user-plus 集成 - 灵活的用户管理模块
安装
安装此扩展的首选方式是通过 composer。
运行以下命令:
php composer.phar require --prefer-dist v0lume/yii2-rbac "*"
或者将以下内容添加到你的 composer.json
文件的 require 部分:
"v0lume/yii2-rbac": "*"
使用方法
- 让我们将模块配置添加到你的主配置文件中
'components' => [
'authManager' => [
'class' => 'yii\rbac\DbManager',
],
],
'modules' => [
'rbac' => [
'class' => 'johnitvn\rbacplus\Module'
]
]
接下来,更新数据库模式
$ php yii migrate/up --migrationPath=@yii/rbac/migrations
好了。完成。现在可用的路由有
- /rbac/rule
- /rbac/permission
- /rbac/role
- /rbac/assignment
- 模块配置可用
'modules' => [
'rbac' => [
'class' => 'johnitvn\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', 'value'=>function($model){ return date('m/d/Y', $model->created_at); } ] ]
- 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. */ }