脚本宝典收集整理的这篇文章主要介绍了php – Yii2:是否可以从后端打开前端会话?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用yii2高级模板,并有@L_777_0@前端和一个后端,具有单独的用户表和登录.
现在我正在寻找一种后端用户可以从后端作为前端用户登录的方式.假设您在后端并查看前端用户,您可以单击“以此用户身份登录”.
这种情况可能吗?
我试图在后端的配置中配置前端使用:
'user' => [ 'identITyClass' => 'backend\models\BackendUser','enableAutoLogin' => false,],'frontendUser' => [ 'class' => 'yii\web\User','identityClass' => 'common\models\User',
在我的控制器中我尝试了这个:
if (Yii::$app->frontendUser->LOGin($user_group->user,0)) { return $this->redirect(Yii::$app->urlManagerFrontend->createAbsoluteUrl(['site/index','client' => $client->login_address])); }
谢尔盖回答后编辑:
后端配置
'user' => [ 'identityClass' => 'backend\models\BackendUser','enableAutoLogin' => true,'identityCookie' => [ 'name' => '_backendUser',// unique for backend ] ],
前端配置:
'user' => [ 'identityClass' => 'common\models\User','loginUrl' => ['message/welcome'],// weil beim SessionTimeout darauf umgeleitet wird,'authTimeout' => 1800,'identityCookie' => [ 'name' => '_frontendUser',// unique for frontend ] ],
控制器功能:
public function actionLoginAs($id) { $user_group = UserGroup::findOne($id); if (is_null($user_group)) { return $this->redirect(['site/index']); } $group = $user_group->group; $client = $group->client; $yiiuser = new yii\web\User([ 'identityClass' => 'common\models\User','identityCookie' => [ 'name' => '_frontendUser',// unique for frontend ] ]); $user = $user_group->user; if ($yiiuser->login($user,15 * 60)) { return $this->redirect(Yii::$app->urlManagerFrontend->createAbsoluteUrl(['site/index','client' => $client->login_address])); } }
前端
'user' => [ 'identityClass' => 'common\models\User','identityCookie' => [ 'name' => '_frontendUser',// unique for frontend ] ],
后端
'user' => [ 'identityClass' => 'backend\models\BackendUser','identityCookie' => [ 'name' => '_backendUser',// unique for backend ] ],
Actually separate front and backend users
>我认为你必须在后端创建方法,如admin / auth / loginUser
AuthController
public function actionLoginUser($login) { // check admin is loggin in $yiiuser = new yii\web\User([ 'identityClass' => 'common\models\User','identityCookie' => [ 'name' => '_frontendUser',// unique for frontend ] ]); $user = common\models\User::findByUsername($login); // check user exists $yiiuser->login($user,false,15 * 60); // 15 min return $this->redirect('/'); }
以上是脚本宝典为你收集整理的php – Yii2:是否可以从后端打开前端会话?全部内容,希望文章能够帮你解决php – Yii2:是否可以从后端打开前端会话?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。