Ich habe zwei verschiedene Benutzertabellen (Editoren und Benutzer) in der Datenbank. Benutzertabelle, wie Sie wissen und die Editor-Tabelle verwendet nur in Modul.
Ich benutze diesen Weg zum Trennen von Benutzerinstanzen zwischen Modul und Hauptanwendung in Yii 1.1.
Aber ich kann keinen Weg in yii finden 2. Ich versuche, yii \ web \ Benutzer zu erweitern, und ich ändere die Benutzerklasse im Modul aber die gleichen Ergebnisse. Wenn ich mich im Modul anmelde, kann auf die gleiche Benutzerinstanz von außerhalb des Moduls und von überall zugegriffen werden.
Mein Modul init so:
%Vor%Auch ich versuche diesen Weg; in der config.php
%Vor%Aber diesmal benutze ich keine Berechtigungsrollen (wie @)
Wie kann ich eine andere Benutzerinstanz in meinem Modul verwenden?
Ich habe einen anderen Weg für eine andere Login-Instanz gefunden. Yii2 verwendet Session-ID-Parameter zur Authentifizierung. Also müssen wir es ändern.
Ändern Sie die Datei modules \ module_name \ module_name.php so, dass sie wie folgt aussieht:
%Vor%idParam-Wert, der standardmäßig in yii \ web \ User definiert ist: $ idParam = '__id'; Wenn wir diesen Wert ändern, verwenden App und Modul verschiedene Benutzerinstanzen.
Ich habe das nicht getestet, aber Sie könnten etwas wie switchIdentity()
finden, also verwenden Sie das in Ihrem Modul;