如何在前端和后端分开实现 yii2-rbac?
How can I implement yii2-rbac in frontend and backend separate?
我想在前端和后端分开实现 rbac。
我有一个 table 供后端管理员使用,管理员用户使用此 table。对于普通用户也是一个 table,他们使用这个 table(用于登录、注册等)。
在与 table (auth_assignment) 相关的 rbac 中,'user_id' 字段的值必须来自另一个 table(用户或管理员),这是不可能得到的来自管理员和用户的值 table.
是否可以实现前后端分离的rbac?
如果是怎么办?
看看这个 link。它对 RBAC 非常有用。
https://github.com/yiisoft/yii2/blob/master/docs/guide/security-authorization.md
RBAC 组件基于公共部分.. 通常,如果它们基于数据库,则您使用公共模型并共享相关数据库 table ..
您可以在 cofig 区域 main.php 的组件部分中声明此元素,如果您在公共目录中执行此操作,则此组件将在两个环境(前端、后端)之间正确共享。
例如:common/config/main.php
'components' => [
.....
'authManager' => [
'class' => 'yii\rbac\DbManager',
'cache' => 'cache',
....
],
这意味着它们可以在前端和后端之间自然共享..
有可能。可以配置 RBAC DbManager 表,因此您可以准备两个 RBAC 组件,一个用于前端,第二个用于后端,具有不同的表。
这是要赋值的属性:
public $assignmentTable = '{{%auth_assignment}}';
我想在前端和后端分开实现 rbac。 我有一个 table 供后端管理员使用,管理员用户使用此 table。对于普通用户也是一个 table,他们使用这个 table(用于登录、注册等)。
在与 table (auth_assignment) 相关的 rbac 中,'user_id' 字段的值必须来自另一个 table(用户或管理员),这是不可能得到的来自管理员和用户的值 table.
是否可以实现前后端分离的rbac? 如果是怎么办?
看看这个 link。它对 RBAC 非常有用。
https://github.com/yiisoft/yii2/blob/master/docs/guide/security-authorization.md
RBAC 组件基于公共部分.. 通常,如果它们基于数据库,则您使用公共模型并共享相关数据库 table ..
您可以在 cofig 区域 main.php 的组件部分中声明此元素,如果您在公共目录中执行此操作,则此组件将在两个环境(前端、后端)之间正确共享。
例如:common/config/main.php
'components' => [
.....
'authManager' => [
'class' => 'yii\rbac\DbManager',
'cache' => 'cache',
....
],
这意味着它们可以在前端和后端之间自然共享..
有可能。可以配置 RBAC DbManager 表,因此您可以准备两个 RBAC 组件,一个用于前端,第二个用于后端,具有不同的表。
这是要赋值的属性:
public $assignmentTable = '{{%auth_assignment}}';