J'ai deux table utilisateur différents (éditeurs et utilisateurs) dans la base de données. Table d'utilisateur Comme vous le savez et la table Editeur utilise simplement dans le module.
3 Réponses :
Je n'ai pas testé cela, mais vous pouvez trouver quelque chose comme Switchentity () code> fonctionne, donc dans votre module, utilisez ceci;
public function init()
{
parent::init();
$editor = new app\models\Editor
$user = Yii::$app->user;
$user->switchIdentity($editor);
}
Lorsque j'utilise la fonction de substitution (), Yii fonctionne comme automatiquement connecté. Créez une nouvelle instance d'édition, mais la même interface utilisateur. Dans Yii Docs dit: "Cette méthode est principalement appelée par login (), déconnexion () et loginCookie () lorsque l'utilisateur actuel doit être associé aux informations d'identité correspondantes."
J'ai trouvé une autre façon pour différentes instances de connexion. Yii2 utilise la session ID PARAM pour l'authentification. Nous devons donc le changer.
modifier vos modules \ module_name \ module_name.php Fichier pour ressembler à ceci: p> Valeur IDPARAM définie dans yii \ web \ user comme Valeur par défaut: $ idparam = '__id';
Donc, si nous modifions cette valeur, l'application et le module utilisent différentes instances utilisateur. P> p>
Merci beaucoup! Vous m'avez sauvé de plusieurs heures de douleur
Vous pouvez définir des noms de session différents pour votre application: et pour le module: p>