前言
Recently, the Yii2 automatic login function has been done. 研究
发现,即使在yii2自动
登录配置功能打开,
浏览器
关闭后再关闭浏览器,它仍然是在非登录状态。
因特网上没有相同的信息。
查询登录源代码:
保护功能sendidentitycookie(合身份,美元的持续时间)
{
$ COOKIE =新的饼干(美元-> identitycookie);
$ COOKIE ->价值= json_encode(
$身份-> getID(),
$身份-> getauthkey(),
美元的持续时间,
json_unescaped_slashes | },json_unescaped_unicode);
Cookie =过期=时间()+持续时间;
Yii::$应用程序-> GetResponse()-> getCookies()->添加($ COOKIE);
}
打印cookie变量,发现没有问题。将代码
复制到其他
控制器不是问题。
在浏览器中,通过yii2 SessionID
设置也正常,就是这里的饼干是不成功的。
由于
系统没有问题,浏览器是
正确的,这是
传输过程中的一个问题。
后来,人们终于发现,在调用$模式>登录()登录
方法后,我直接将JSON数据输出到浏览器,后面有
退出方法,它直接阻止控制器继续
执行。
所以,yii2执行退出,导致头信息头不会传递给浏览器,这样浏览器没有收到PHP在所有设置cookie的
命令。
总结
yii2登录或需要设置cookie控制器,不退出或死亡,直接使用if-else判断,不中断执行。
以上就是本文的全部内容。希望本文的内容能给大家的
学习或
工作带来一定的帮助。如果有任何疑问,您可以留言交流,谢谢您的
支持。