Yii2-usuario:检查管理员
Yii2-usuario: Check for Admin
我是 Yii2-usuario 和 Yii2 身份验证的新手。
Yii2 提供了内置的 Yii::$app->user->isGuest
但没有 Yii::$app->user->isAdmin
。
我在 config/web.php
中将用户 chef
配置为 adminstrators
:
'user' => [
'class' => Da\User\Module::class,
'administrators' => ['chef'],
...
],
我的数据库 tables auth_*
是空的。
如何查看当前用户是否
- 是管理员吗?
- 有管理员权限(角色管理员)?
您似乎缺少 RBAC 的相关 table 中的数据。您应该阅读有关高级 RBAC 的 GUIDE 以及您应该如何构建授权数据,即
- 定义角色和权限;
- 建立角色和权限之间的关系;
- 定义规则;
- 将规则与角色和权限相关联;
- 正在为用户分配角色。
因此,要使其正常工作,请验证您是否在 table auth_item 中使用 name
管理员定义了一个角色,然后键入 1 ,那么 auth_assignment
应该有你在 user
table 中添加的管理员用户 (chef) 的 user_id
,反对角色定义即 admin。
查看我的其中一个应用程序的图像,其中定义了 admin
角色和一个需要定义的路由,稍后使用 Yii::$app->user->can()
检查
auth_item
auth_assignment
**用户**
如果您根据指南实施高级 RBAC,我认为您不需要在模块配置下指定任何管理员,因为您随后会通过 [=16= 检查对任何操作、模块或控制器的访问权限] 其中 $route
在 auth_item
中定义,类型为 2.
注意还有auth_item_child
table 当你的应用程序扩展并且你定义了多个角色时使用,主要是table 用于存储授权项层次结构。你可以在上面提到的 link 中阅读它。
我是 Yii2-usuario 和 Yii2 身份验证的新手。
Yii2 提供了内置的 Yii::$app->user->isGuest
但没有 Yii::$app->user->isAdmin
。
我在 config/web.php
中将用户 chef
配置为 adminstrators
:
'user' => [
'class' => Da\User\Module::class,
'administrators' => ['chef'],
...
],
我的数据库 tables auth_*
是空的。
如何查看当前用户是否
- 是管理员吗?
- 有管理员权限(角色管理员)?
您似乎缺少 RBAC 的相关 table 中的数据。您应该阅读有关高级 RBAC 的 GUIDE 以及您应该如何构建授权数据,即
- 定义角色和权限;
- 建立角色和权限之间的关系;
- 定义规则;
- 将规则与角色和权限相关联;
- 正在为用户分配角色。
因此,要使其正常工作,请验证您是否在 table auth_item 中使用 name
管理员定义了一个角色,然后键入 1 ,那么 auth_assignment
应该有你在 user
table 中添加的管理员用户 (chef) 的 user_id
,反对角色定义即 admin。
查看我的其中一个应用程序的图像,其中定义了 admin
角色和一个需要定义的路由,稍后使用 Yii::$app->user->can()
auth_item
auth_assignment
**用户**
如果您根据指南实施高级 RBAC,我认为您不需要在模块配置下指定任何管理员,因为您随后会通过 [=16= 检查对任何操作、模块或控制器的访问权限] 其中 $route
在 auth_item
中定义,类型为 2.
注意还有auth_item_child
table 当你的应用程序扩展并且你定义了多个角色时使用,主要是table 用于存储授权项层次结构。你可以在上面提到的 link 中阅读它。