0
我只想知道如何使用DbManager將角色分配給yii2中的一組用戶,因爲我看過很多教程,但其中大多數都是面向提升模板和我正在使用基本模板。 他們提到常見的後端文件夾,我在基本模板中找不到 您可以給我一個教程或一些我可以遵循的指導嗎?yii2用於用戶組的基本模板角色的RBAC
感謝
我只想知道如何使用DbManager將角色分配給yii2中的一組用戶,因爲我看過很多教程,但其中大多數都是面向提升模板和我正在使用基本模板。 他們提到常見的後端文件夾,我在基本模板中找不到 您可以給我一個教程或一些我可以遵循的指導嗎?yii2用於用戶組的基本模板角色的RBAC
感謝
看看這個頁面:http://www.yiiframework.com/doc-2.0/guide-security-authorization.html
這將有助於您添加DbManager的RBAC。首先,您需要創建不同的角色,然後您需要爲不同的角色添加權限。
然後,當您創建用戶時,您需要爲該用戶分配一個角色,他們將擁有這些權限。
以下是創建角色和權限的文檔片段。
<?php
namespace app\commands;
use Yii;
use yii\console\Controller;
class RbacController extends Controller
{
public function actionInit()
{
$auth = Yii::$app->authManager;
// add "createPost" permission
$createPost = $auth->createPermission('createPost');
$createPost->description = 'Create a post';
$auth->add($createPost);
// add "updatePost" permission
$updatePost = $auth->createPermission('updatePost');
$updatePost->description = 'Update post';
$auth->add($updatePost);
// add "author" role and give this role the "createPost" permission
$author = $auth->createRole('author');
$auth->add($author);
$auth->addChild($author, $createPost);
// add "admin" role and give this role the "updatePost" permission
// as well as the permissions of the "author" role
$admin = $auth->createRole('admin');
$auth->add($admin);
$auth->addChild($admin, $updatePost);
$auth->addChild($admin, $author);
// Assign roles to users. 1 and 2 are IDs returned by IdentityInterface::getId()
// usually implemented in your User model.
$auth->assign($author, 2);
$auth->assign($admin, 1);
}
}
此RbacController.php文件將進入您的項目的基礎中的命令文件夾。您可以通過撥打php yii rbac/init
通過終端運行它。
然後,您實際上需要檢查用戶是否具有某些權限。所以,當某個用戶正在執行的操作,你可以調用像
if (\Yii::$app->user->can('createPost')) {
// create post
}
其中bassed到罐方法的字符串是,你是想查詢的權限。
您可以通過以下鏈接訪問:www.youtube.com/watch?v=eFOIUeU-Y74 – CrashBurn