Yii2 二级域名跨域同步登录 [ 求助交流 ]
想做一个多域名跨域同步登录,即在fronted.local中登录后,在backend.local网站打开时也显示登录,我在 common中components配置如下
'user' => [
'identityClass' => 'common\models\FrontendUser',
'enableAutoLogin' => true,
'identityCookie' => [
'domain' => '.local',
'path' => '/',
'name' => '_identity',
'httpOnly' => true,
],
],
'session' => [
'cookieParams' => [
'domain' => '.local',
'lifetime' => 0,
'httpOnly' => true,
'path' => '/',
],
],
结果发现在登录时cookie中没有PHPSESSID,请问时配置哪里除了问题吗?
共 2 条回复
-
已经解决,是domain设置的问题,二级域名必须是两个字符串以点分割
都改为'domain' => '.test.local'即可。但是发现另外一个问题,我这边有三个应用,a.test.local 和b.test.local公用了一套登录账号,做的同步登录。还有个c.test.local使用另一套登录账号。
因不能在common中配置session,故在a和b应用的main.php中都配置共同的user和session,在c应用中配置另外的user没有配置session,这样结果会a和b同步登录,但是c登录不了debug发现session是服务器共享的,故在c登录时会找到a/b的session。
如果我在c登录之前清除掉session,能保证c登录,但是a/b已经不同步登录了,需要重新登录。
请问有没有什么办法处理呢?共 4 条回复
xiaog0000
注册时间:2016-02-19
最后登录:2016-02-22
在线时长:0小时31分
最后登录:2016-02-22
在线时长:0小时31分
- 粉丝2
- 金钱20
- 威望0
- 积分20