2016-06-04 13 views
5

Utilizzo il sistema di controllo accessi basato su ruolo yii2 (RBAC). Ho definito ruoli e permessi, regole definite, ruoli assegnati agli utenti. Tutto funziona beneCome modificare/aggiornare il ruolo utente? Yii2

ma voglio aggiornare i ruoli assegnati agli utenti. Ad esempio:

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

Qui ho fatto l'utente id 11 admin. Ora voglio aggiornare e cambiare. Voglio fare questo user manager.

quando provo:

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

Questo utente ha amministratore + manager. Voglio solo aggiornare questo ruolo utente admin al manager.

Come posso fare questo?

risposta

3

prima si revoke() o revokeAll() ruolo utente:

Rimuovere ruolo 'admin' attuale:

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

e di nuovo l'aggiornamento nuovo ruolo per l'utente:

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