我有一个角色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);
}
谁能告诉我哪里出错了?因为上面的代码没有按预期验证。
答案 0 :(得分:1)
要检查用户是否具有给定角色,您可以使用此功能:
public function hasRole($roleName, $userId) {
$authManager = \Yii::$app->getAuthManager();
return $authManager->getAssignment($roleName, $userId) ? true : false;
}