Yii2 高级应用,前端和后端的不同会话与子域
Posted
技术标签:
【中文标题】Yii2 高级应用,前端和后端的不同会话与子域【英文标题】:Yii2 Advanced app, different session for frontend and backend with subdomains 【发布时间】:2016-01-30 06:34:47 【问题描述】:我的 Yii2 应用有问题。 我有一个高级应用程序,其中包含不同域(子域)上的前端和后端部分。我使用webvimark用户管理模块,但我认为问题不在它。
前端应用程序 -> domain.com 后端应用程序 -> admin.domain.com
所以我在后台登录有问题,它不工作。 我输入登录名和密码,提交表单后我再次看到登录表单。
'user' => [
'identityClass' => 'webvimark\modules\UserManagement\models\User',
'enableAutoLogin' => true,
'identityCookie' => [
'name' => '_backendIdentity',
'domain' => 'admin.domain.com',
],
'class' => 'webvimark\modules\UserManagement\components\UserConfig',
],
和
'session' => [
'name' => 'BACKENDSESSID',
'cookieParams' => [
'domain' => 'admin.domain.com',
],
],
有什么想法吗?
更新 #1: 我的配置位于:/backend/config/main.php更新 #2: 在子域上传输后端时出现问题
【问题讨论】:
也许你需要添加 savePath 参数 你显示的配置在哪里? 我的配置位于:/backend/config/main.php @nuriddin-rashidov 它没有帮助 您是否已在浏览器中签出会话。设置好了吗? 【参考方案1】:好的,模块配置有问题,前端配置错误。
后端:
'user' => [
'identityClass' => 'webvimark\modules\UserManagement\models\User',
'enableAutoLogin' => true,
'identityCookie' => [
'name' => '_backendIdentity',
'domain' => 'backend.test.dev',
],
'class' => 'webvimark\modules\UserManagement\components\UserConfig',
'on afterLogin' => function ($event)
\webvimark\modules\UserManagement\models\UserVisitLog::newVisitor($event->identity->id);
,
],
'session' => [
'name' => 'BACKENDSESSID',
'cookieParams' => [
'domain' => 'backend.test.dev',
],
],
前端:
'user' => [
'identityClass' => 'webvimark\modules\UserManagement\models\User',
'enableAutoLogin' => true,
'identityCookie' => [
'name' => '_frontendIdentity',
'path' => '/',
],
'class' => 'webvimark\modules\UserManagement\components\UserConfig',
'on afterLogin' => function ($event)
\webvimark\modules\UserManagement\models\UserVisitLog::newVisitor($event->identity->id);
],
'session' => [
'name' => 'FRONTENDSESSID',
'cookieParams' => [
'path' => '/',
],
],
【讨论】:
你有没有想过如何让代码接收功能测试适用于不同的子域?以上是关于Yii2 高级应用,前端和后端的不同会话与子域的主要内容,如果未能解决你的问题,请参考以下文章