YII2自动登录Cookie总是失效的解决方法


Posted in PHP onJune 28, 2017

前言

最近做Yii2自动登录功能,发现即使开启了Yii2的自动登录配置功能,浏览器关闭后,再次打开浏览器还是处于非登录状态。

网上查询资料基本没有相同情况。

查询登录源码:

protected function sendIdentityCookie($identity, $duration)
{
 $cookie = new Cookie($this->identityCookie);
 $cookie->value = json_encode([
  $identity->getId(),
  $identity->getAuthKey(),
  $duration,
 ], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
 $cookie->expire = time() + $duration;
 Yii::$app->getResponse()->getCookies()->add($cookie);
}

打印cookie变量发现内容没有任何问题。复制代码去其他控制器执行也是毫无问题。

查看浏览器,Yii2设置的sessionID也是正常的,也就是cookie只是这里设置不成功。

既然,系统没问题,浏览器没问题,那么就是传输过程有问题。

后来终于发现:原来在调用$model->login()登录方法过后,我直接输出json数据到浏览器,并且在后面有exit方法,直接阻止了控制器继续执行。

所以,yii2执行到exit处就完了,导致头信息header也没有被传输到浏览器。所以浏览器根本没有收到php设置cookie的命令。

总结

Yii2登录或者需要设置cookie的控制器,千万不要exit or die,直接使用if else去判断,不要打断执行。

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
聊天室php&mysql(四)
Oct 09 PHP
php win下Socket方式发邮件类
Aug 21 PHP
php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串
Aug 23 PHP
PHP遍历数组的几种方法
Mar 22 PHP
PHP大批量插入数据库的3种方法和速度对比
Jul 08 PHP
php中常见的sql攻击正则表达式汇总
Nov 06 PHP
php用户注册时常用的检验函数实例总结
Dec 22 PHP
PHP利用Cookie设置用户30分钟未操作自动退出功能
Jul 03 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 16 PHP
php+redis实现商城秒杀功能
Nov 19 PHP
php实现数字补零的方法总结
Sep 12 PHP
如何在Laravel之外使用illuminate组件详解
Sep 20 PHP
php的常量和变量实例详解
Jun 27 #PHP
Zend Framework框架中实现Ajax的方法示例
Jun 27 #PHP
PHP用continue跳过本次循环中剩余代码的注意点
Jun 27 #PHP
PHP API接口必备之输出json格式数据示例代码
Jun 27 #PHP
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
Jun 27 #PHP
简单谈谈PHP面向对象之标识对象
Jun 27 #PHP
什么是PHP文件?如何打开PHP文件?
Jun 27 #PHP
You might like
虫族 Zerg 热键控制
2020/03/14 星际争霸
dede3.1分页文字采集过滤规则详说(图文教程)
2007/04/03 PHP
PHP写入WRITE编码为UTF8的文件的实现代码
2008/07/07 PHP
基于php-fpm 参数的深入理解
2013/06/03 PHP
PHP简单实现断点续传下载的方法
2015/09/25 PHP
php分页原理 分页代码 分页类制作教程
2016/09/23 PHP
php array_udiff_assoc 计算两个数组的差集实例
2016/11/12 PHP
浅谈PHP中的错误处理和异常处理
2017/02/04 PHP
JavaScript 常用函数库详解
2009/10/21 Javascript
JavaScript 页面坐标相关知识整理
2010/01/09 Javascript
javascript检测浏览器flash版本的实现代码
2011/12/06 Javascript
javascript:window.open弹出窗口的位置问题
2014/03/18 Javascript
20条学习javascript的编程规范的建议
2014/11/28 Javascript
JavaScript调试工具汇总
2014/12/23 Javascript
javascript实现淡蓝色的鼠标拖动选择框实例
2015/05/09 Javascript
js实现跨域的4种实用方法原理分析
2015/10/29 Javascript
JavaScript中Number对象的toFixed() 方法详解
2016/09/02 Javascript
微信小程序 wx.request(OBJECT)发起请求详解
2016/10/13 Javascript
JS常用正则表达式总结【经典】
2017/05/12 Javascript
浅谈React深度编程之受控组件与非受控组件
2017/12/26 Javascript
Python实现利用最大公约数求三个正整数的最小公倍数示例
2017/09/30 Python
Python批处理更改文件名os.rename的方法
2018/10/26 Python
Python学习笔记基本数据结构之序列类型list tuple range用法分析
2019/06/08 Python
通过代码实例了解Python异常本质
2020/09/16 Python
迷你西餐厅创业计划书范文
2013/12/31 职场文书
消防安全检查制度
2014/02/04 职场文书
《莫泊桑拜师》教学反思
2014/04/23 职场文书
最美乡村医生事迹材料
2014/06/02 职场文书
应聘教师求职信
2014/07/19 职场文书
生活小常识广播稿
2014/09/16 职场文书
办公室个人总结
2015/02/28 职场文书
初中英语教师个人工作总结2015
2015/07/21 职场文书
新党员入党决心书
2015/09/22 职场文书
导游词之河北滦平金山岭长城
2019/10/16 职场文书
详解Mysql 函数调用优化
2021/04/07 MySQL
mongoDB数据库索引快速入门指南
2022/03/23 MongoDB