2017-08-12 2 views
-1

Ich brauche irgendwie die Liste der vorhandenen Berechtigungen in meiner Yii2-Anwendung zu bekommen. yii/rbac/DbManager als authManager verwendet. Und wenn zu laufen versuchen:Wie bekomme ich eine Liste von Berechtigungen in Yii2?

, in dem
$permissions = Yii::$app->authManager->getPermissions(); 

Ich empfange Liste sind Berechtigungen und Routen:

Array ([/ admin-tools/] => yii \ rbac \ Permission-Objekt ([Typ] => 2 [name] =>/admin-tools/ [beschreibung] => Zugriff admin-tools [ruleName] => [daten] => [createdAt] => 1500542371 [updatedAt] => 1500542371) [/ admin/] => yii \ rbac \ Berechtigungsobjekt ([type] => 2 [name] =>/admin/ [beschreibung] => access admin extension [ruleName] => [daten] => [createdAt] => 1500541632 [updateAt] => 1500541632) [/ group] => yii \ rbac \ Berechtigungsobjekt ([type] => 2 [name] =>/group [beschreibung] => [ruleName] => [daten] => [createdAt] => 1502190828 [updatedAt] => 1502190828)) [permission_admin] => yii \ rbac \ Berechtigungsobjekt ([type] => 2 [name] => permission_admin [beschreibung] => [ruleName] => [daten] => [createdAt] => 1500559417 [updatedAt] => 1502190927) [permission_hr] => yii \ rbac \ Berechtigungsobjekt ([type] => 2 [name] => permission_hr [description] => [ruleName] => [daten] => [createdAt] => 1500559479 [updatedAt] => 1500559919))

Ich nehme an, es gibt eine andere kluge Möglichkeit, diese Daten zu erhalten. Weil yii2-admin Modul in der Lage ist, eine Liste von nur Berechtigungen zu bekommen, aber ich habe keine Ahnung wie.

Antwort

0

Die resultierende

$permissions = Yii::$app->authManager->getPermissions(); 

ist ein Array mit allen Berechtigungen Inhalt

wenn Sie Namen und eine Beschreibung benötigen Objekt können Sie das Array zB iterieren:

$permissions = Yii::$app->authManager->getPermissions(); 
    foreach($permissions as $key => $perm){ 
    echo 'name : ' . $perm->name . ' description : ' . $perm->description . <br />; 
    echo 
    } 

können Sie überprüfen yii2 doc http://www.yiiframework.com/doc-2.0/yii-rbac-dbmanager.html

http://www.yiiframework.com/doc-2.0/yii-rbac-basemanager.html#getPermissions()-detail

könnte b Sie suchen getPermissionsByUser()

http://www.yiiframework.com/doc-2.0/yii-rbac-dbmanager.html#getPermissionsByUser()-detail

Verwandte Themen