Ich habe eine Rolle namens "neu". Während ich es nicht explizit festlege, möchte ich, dass es die Standardrolle ist, sobald sich ein Benutzer registriert. Ich benutze yii2-user und yii2-rbac Erweiterung von dektrium.Yii2 RBAC respektiert nicht Standard-Rolleneinstellung
Ich habe folgendes in meine Komponenten ...
'authManager' => [
'class' => 'yii\rbac\DbManager',
'defaultRoles' => ['new'],
],
Allerdings gibt folgende Formel falsch ...
if (Yii::$app->user->can('new'))
Und gibt folgende Formel ein leeres Array zu ...
print_r(Yii::$app->authManager->getRolesByUser(Yii::$app->user->identity->id));
Ich bin mir nicht sicher, wo ich suchen soll. Ich habe überprüft, ob die neue Rolle in den RBAC-Konfigurationsansichten ordnungsgemäß eingerichtet wurde.
Aus irgendeinem Grund respektiert entweder Yii2 nicht meine defaultRole-Konfiguration, oder meine Erwartung ist falsch von dieser Einstellung. Schätze jede Hilfe. Diese
Hallo Ich habe eine print_r (Yii :: $ app-> authManager-> defaultRoles) und bemerkte, dass das Array leer ist. Aus irgendeinem Grund wird es nicht eingestellt. Ich habe auf der Default/Index Seite getestet. Irgendwelche Ideen. –
@ShahidThaika Überprüfen Sie, ob es von den von Ihnen verwendeten Erweiterungen überschrieben wird. Überprüfen Sie ihre Dokumente, vielleicht gibt es eine andere Möglichkeit, es zu setzen. Was ich geschrieben habe, funktioniert perfekt ohne Erweiterungen. – arogachev
Ja, ich glaube nicht, dass die Erweiterung dieses Feld respektiert, weil ich gerade eine neue Installation und einen Test ohne Erfolg durchgeführt habe. –