2016-06-04 5 views
5

yii2 역할 기반 액세스 제어 (RBAC) 시스템을 사용하고 있습니다. 역할과 권한, 정의 된 규칙, 사용자에게 지정된 역할을 정의했습니다. 모든 것이 잘 작동합니다.사용자 역할을 변경/업데이트하는 방법은 무엇입니까? Yii2

하지만 할당 된 역할을 사용자에게 업데이트하고 싶습니다. 예를 들면 :

Yii::$app->authManager->assign('admin', '11'); 

저는 여기에 사용자 ID (11) 관리를했다. 이제 업데이트하고 변경하고 싶습니다. 이 사용자 관리자를 만들고 싶습니다.

는 내가하려고하면 :

Yii::$app->authManager->assign('manager', '11'); 

이 사용자는 관리자 + 관리자가 있습니다. 이 사용자 역할 관리자를 관리자로 업데이트하고 싶습니다.

어떻게하면됩니까? 첫째

답변

3

당신 revoke() 또는 revokeAll() 사용자 역할 :

$manager = Yii::$app->authManager; 
$item = $manager->getRole('admin'); 
$item = $item ? : $manager->getPermission('admin'); 
$manager->revoke($item,'11'); 

을 다시 사용자에게 새로운 역할 업데이트 :

하는 현재의 역할 '관리'를 제거

$authorRole = $manager->getRole('manager'); 
$manager->assign($authorRole, 11);