2015-01-22 2 views
0

나는 Creator 역할을 가지고 있으며 로그인 한 사용자가 Creator인지 어떻게 확인할 수 있는지 알고 싶습니다. yii2-admin 사용자의 역할 확인

내가 아니라 내 User 클래스의 기능을 만들어 :

public function getIsCreator(){ 
    $role = Yii::$app->authManager->getRole('Creator')->name; 
    $rolesById = Yii::$app->authManager->getRolesByUser($this->id); 

    return in_array($role, $rolesById); 
} 

사람이 말해 줄 수있는 내가 잘못거야? 위의 코드는 예상대로 유효성을 검사하지 않기 때문입니다.

+1

'당신의 가치를 var_dump'을하고 당신이 명확하지 않다, 거기에 무엇을보고? –

+0

시도해보십시오. 아무것도 나타나지 않습니다. –

+0

어떻게 사용하고 있습니까? 사람들은 때때로 User 모델과 User ID를 혼동합니다. –

답변

0

확인하려면 주어진 역할을 사용자가 아니면이 기능을 사용할 수 없습니다 :

public function hasRole($roleName, $userId) { 
    $authManager = \Yii::$app->getAuthManager(); 
    return $authManager->getAssignment($roleName, $userId) ? true : false; 
}