[英]How to integrate Yeesoft/Yii2 cms RBAC (Role Based Access Control) with YII2 frontend RBAC?
我一直在使用yii2高級模板,現在我想在前端項目的控制器中實現一些RBAC。
來自https://github.com/yeesoft/yii2-yee-cms的 Yeesoft的/ Yii2 cms RBAC控制面板給我留下了深刻的印象,盡管我可能不會使用它們的很多內容管理功能。 但是,它的控制面板給我留下了深刻的印象,並希望使用它來控制前端訪問權限並授予我的員工某些權限。
我在其“組件”部分的“ frontend \\ config \\ main.php”中包含了此代碼。
'components' => [
'authManager' => [
'class' => 'yii\rbac\DbManager'
],
]
這使我可以在前端控制器中包含以下代碼
if (!\Yii::$app->user->can('createEmployee')) {
throw new \yii\web\ForbiddenHttpException('You do not have permission to create an employee.');
}
控制訪問。
我正在使用yeesoft的數據庫,並且正在考慮將我的所有數據從前端數據庫遷移到yeesoft的cms數據庫,因為我可以使用控制面板在其下創建權限並訪問權限數據,而不必編寫使用以下內容的大量控制台遷移代碼
Yii::$app->authManager;
和其他類似以下的復雜代碼:
$auth = Yii::$app->authManager;
//create the permission
$manageCleansbutnotusers = $auth->createPermission('manageCleansbutnotusers');
$manageCleansbutnotusers->description = 'Manage Cleans but not Users';
//add the permission
$auth->add($manageCleansbutnotusers);
//create the permission
$manageCleansandusers = $auth->createPermission('manageCleansandusers');
$manageCleansandusers->description = 'Manage Cleans and Users';
//add the permission
$auth->add($manageCleansandusers);
//create the role
$moderator = $auth->createRole('moderator');
$moderator->description = 'Moderator';
//add the role
$auth->add($moderator);
//attach the permissions to the role
$auth->addChild($moderator, $manageCleansbutnotusers);
//create the role
$admin = $auth->createRole('admin');
$admin->description = 'Administrator';
//add the role
$auth->add($admin);
//attach both permissions to the admin role
$auth->addChild($admin, $moderator);
$auth->addChild($admin, $manageCleansandusers);
我過去曾將其用於遷移目的。
有人可以建議我什么是更好的方法嗎? 我確信有人使用Yeesoft cms控制面板來控制對前端的訪問,而不必訴諸以下各項:
'components' => [
'authManager' => [
'class' => 'yii\rbac\DbManager'
],
]
在Yii2高級設置中:前端和后端應用程序都有各自的配置。 對於前端和后端具有通用性的實例,可以利用通用配置。 例如,數據庫,AD登錄名或掛鈎擴展的配置。
參見Yii-App-Advanced 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.