>我有一个角色Creator
,我想知道如何检查登录用户是否已分配Creator
。
我在User
类中创建了一个函数,如下所示:
public function getIsCreator(){
$role = Yii::$app->authManager->getRole('Creator')->name;
$rolesById = Yii::$app->authManager->getRolesByUser($this->id);
return in_array($role, $rolesById);
}
谁能告诉我哪里出错了?因为上面的代码没有按预期进行验证。
要检查用户是否具有给定的角色,您可以使用此功能:
public function hasRole($roleName, $userId) {
$authManager = Yii::$app->getAuthManager();
return $authManager->getAssignment($roleName, $userId) ? true : false;
}