2017-08-12 8 views
-1

Yii2アプリケーションで既存のアクセス許可のリストを取得する必要があります。 authManagerとしてyii/rbac/DbManagerが使用されています。 そしてときに実行しようとしている:Yii2の権限のリストを取得するには?

アレイ([/管理-ツール/ ] =>のYiiの\ RBAC \許可オブジェクト([タイプ]:

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

を私は権限とルートされたリストを受け取ります=> 2 [名前] =>/admin-tools/ [説明] =>管理ツール[ルール名] => [データ] => [createdAt] => 1500542371 [updatedAt] => 1500542371)[/ admin/] => yii \ rbac \ Permissionオブジェクト([type] => 2 [name] =>/admin/ [description] =>管理拡張[ruleName] => [data] => [createdAt] => 1500541632 [updatedAt] => 1500541632)[/ group] => yii \ rbac \ Permissionオブジェクト([type] => 2 [name] =>/group [description] => [ruleName] => [data] => [createdAt] => 1502190828 [updatedAt] => 1502190828))[permission_admin] => rbac \ Permissionオブジェクト([type] => 2 [name] => permission_admin [description] => [ruleName] => [data] => [createdAt] => 1500559417 [updatedAt] => 1502190927)[permission_hr] => [データ] => [createdAt] => 1500559479 [updatedAt] => 1500559919))

この記事は、以前は次のIDで公開されていました:

私はこのデータを取得するためのよりスマートな方法があると思います。 yii2-adminモジュールは権限のみのリストを得ることができるので、どのように考えているのかわかりません。

答えて

0

結果

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

がすべての権限は、コンテンツ

オブジェクトであなただけの名前と説明が必要な場合は、例えば、配列を反復処理することができます配列です。

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

することができますチェック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

あなたはgetPermissionsByUser()

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

を探していますbの可能性
関連する問題