yii2 跨站登录的奇怪问题 [ 求助交流 ]
看了网上一堆跨站的案例,很多都是抄袭来抄袭去,调试了好长时间也没解决问题,无奈下只有自己去慢慢研究,最后还是程序开发中一个习惯,遇到搞不定的bug就先放着,几天后,突然发现一切都解决了,也带了点运气成分,这个文中细说原因。 写出此文,想和把这个问题和搞透的人请教下,有些东西还没想透,有的时候莫名其妙的问题。 我的站分5个端
frontend vi.host.com
lawyerend law.host.com
userend user.host.com
transend trans.host.com
lawfirmend lawfirm.host.com
刚开始试着在主common/config/main.php 下配置 跨站代码 代码如下
'request' => [
'cookieValidationKey' => 'asdfaasdfaf#@$#@%$#%#^#$^%#$DSGSDG#@#!@$#!241fa',
],
'user' => [
'identityClass' => 'common\models\User',
'enableAutoLogin' => true,
'identityCookie' => ['name' => '__lawyer_identity', 'httpOnly' => true],
'idParam' => '__User',
'loginUrl' => ['/admin/login'],
],
'session' => [
'cookieParams' => [
'path' => '/',
'domain' => '.'.DOMAIN,
'httpOnly' => true,
],
],
一开始,死活调试不通,加了domain的情况下,去掉这个参数添加那个参数,都一点用都没,尝试了一系列的排列组合,下面就说下当时用userend测试跨站的登录情况
在common/config/main.php
下配置 userend/config/main.php
里面配置 跨站代码
在common/config/main.php
下不配置 userend/config/main.php
里面配置 跨站代码
在common/config/main.php
下配置 userend/config/main.php
里面不配置 跨站代码
....等等 还删除修改添加一系列参数,都不管用,debug也不行。在google浏览器用开发者模式查看 resources/cookies 有的时候能看到 .host.com的value值,有的时候能看到 user.host.com的value值,但是就是 value死活不一样,不一样就无法统一登录,userend也无法登录上去。 实在没辙,歇息了几天,突然发现什么都解决了,开始想不明白是什么原因,后来突然想到,是不是session和cookie缓存的问题,就分别测试关闭浏览器,清理缓存,关闭并重启phpstudy下,发现果然如此; 具体原因我想应该是,在每次配置文件改变后,程序且运行了,会有些session和cookie残留,当你改下次配置文件的时候,之前的session和cookie并么有清理掉,所以导致N多的调试时间都浪费了(也有可能是phpstudy原因,没有apache测试过)。
共 1 条回复
-
现在的配置是 common不放任何的user登录代码
就frontend 和userend放'request' => [ 'cookieValidationKey' => 'asdfaasdfaf#@$#@%$#%#^#$^%#$DSGSDG#@#!@$#!241fa', ], 'user' => [ 'identityClass' => 'common\models\User', 'enableAutoLogin' => true, 'identityCookie' => ['name' => '__lawyer_identity', 'httpOnly' => true], 'idParam' => '__User', 'loginUrl' => ['/admin/login'], ], 'session' => [ 'cookieParams' => [ 'path' => '/', 'domain' => '.'.DOMAIN, 'httpOnly' => true, ], ],
这段代码,在lawyerend里面 把domain都去掉,有的时候测试是ok的,有的时候有莫名其妙的问题。
所有的登录全部公用 common\models\User 模型 不同的模块 根据账号 types类型来区别。
现在的状况是 有的时候莫名其妙的还是会出现登录不了的情况。未完待续,看看苹果发不回去。。
xyhs 上海
最后登录:2020-08-08
在线时长:6小时14分
- 粉丝8
- 金钱120
- 威望20
- 积分380