我想在前端和後端分開實現rbac。 我有一個後臺管理員表,管理員用戶使用這個表。也是一個普通用戶的表格,他們使用這個表格(用於登錄,註冊等)。如何在前端和後端分別實現yii2-rbac?
在rbac相關表(auth_assignment)中,'user_id'字段必須從另一個表(用戶或管理員)進行賦值,並且無法從admin和users表中獲取值。
是否有可能爲前端和後端分開實現rbac? 如果是的話怎麼樣?
我想在前端和後端分開實現rbac。 我有一個後臺管理員表,管理員用戶使用這個表。也是一個普通用戶的表格,他們使用這個表格(用於登錄,註冊等)。如何在前端和後端分別實現yii2-rbac?
在rbac相關表(auth_assignment)中,'user_id'字段必須從另一個表(用戶或管理員)進行賦值,並且無法從admin和users表中獲取值。
是否有可能爲前端和後端分開實現rbac? 如果是的話怎麼樣?
這是可能的。可以配置RBAC DbManager表,以便您可以爲不同的表準備兩個RBAC組件,一個用於前端,另一個用於後端。
這是用於分配的屬性:
public $assignmentTable = '{{%auth_assignment}}';
看看這個鏈接。它對RBAC非常有用。
https://github.com/yiisoft/yii2/blob/master/docs/guide/security-authorization.md
的RBAC是及部件就共同部分基地。通常如果他們在DB基地使用通用模型和共享相關的數據庫表..
可以申報組件部分該元素在cofig區域中的main.php,如果你在common dir中這樣做,這個組件si在環境(前端,後端)之間正確共享。
例如:公共/配置/ main.php
'components' => [
.....
'authManager' => [
'class' => 'yii\rbac\DbManager',
'cache' => 'cache',
....
],
這意味着他們可以前端和後端之間自然共享..
在這種情況下的配置不能被共享,因爲它應使用兩個不同的'user'表格提供RBAC分配。 – Bizley
謝謝answere.but,這個屬性在哪裏?在哪個文件中? –
命名空間'yii \ rbac \ DbManager' - '\ vendor \ yiisoft \ yii2 \ rbac \ DbManager.php' – Bizley