ログインしたユーザーのユーザー ロールを探していましたが、ユーザー ロール名を出力する方法がわかりません。私はこれを試しました:
$Role = Yii::$app->authManager->getRolesByUser(Yii::$app->user->getId());
いつ、私はしましたprint_r($Role)
; 私はこれを得た :
Array ( [superadmin] => yii\rbac\Role Object ( [type] => 1 [name] => superadmin [description] => Super admin can do any operation in the application [ruleName] => [data] => [createdAt] => [updatedAt] => ) )
特定のロール名を取得しようとしましたが、アクセスできませんでした
Array ( [superadmin] => yii\rbac\Role Object ........)
^ unable to access this name.
入力するprint_r($Role[0]->name);
と、次のようなエラーが表示されます
PHP 通知 – yii\base\ErrorException
未定義のオフセット: 0
そして、私がこのようにすれば($rolename
配列インデックスに手動で渡すことを意味します)、それは機能しています。
$roleName = 'superadmin';
print_r($Role[$roleName]->name);
この要件が私に来た理由は、ログインしているユーザーにとっては問題ないからです。しかし、他のユーザーロール名を知りたい場合は、そのインデックス名をここに渡す必要があります$Role[$roleName]->name
この「スーパー管理者」にアクセスするのを手伝ってください。インデックス名を取得する方法がわかりません。
Array ( [superadmin] => yii\rbac\Role Object
^ unable to access this name.
ユーザーロールの取得とユーザーの特定のロールもチェックしました