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 相关文章推荐
[FAQ]PHP中的一些常识:类篇
Oct 09 PHP
php.ini中文版
Oct 09 PHP
PHP中break及continue两个流程控制指令区别分析
Apr 18 PHP
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
Jun 18 PHP
PHP字符串中特殊符号的过滤方法介绍
Feb 18 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
Jan 07 PHP
PHP实现CSV文件的导入和导出类
Mar 24 PHP
php实现过滤字符串中的中文和数字实例
Jul 29 PHP
PHP利用APC模块实现大文件上传进度条的方法
Oct 29 PHP
PHP读取mssql json数据中文乱码的解决办法
Apr 11 PHP
PHP new static 和 new self详解
Feb 19 PHP
laravel 创建命令行命令的图文教程
Oct 23 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
PHP临时文件的安全性分析
2014/07/04 PHP
JavaScript编程开发中的五个实用小技巧
2010/07/22 Javascript
ASP.NET jQuery 实例10 动态修改hyperlink的URL值
2012/02/03 Javascript
jQuery过滤选择器:not()方法使用介绍
2014/04/20 Javascript
举例讲解JavaScript中关于对象操作的相关知识
2015/11/16 Javascript
jquery插件autocomplete用法示例
2016/07/01 Javascript
jquery表格datatables实例解析 直接加载和延迟加载
2016/08/12 Javascript
基于Layer+jQuery的自定义弹框
2020/05/26 Javascript
fckeditor部署到weblogic出现xml无法读取及样式不能显示问题的解决方法
2017/03/24 Javascript
微信小程使用swiper组件实现图片轮播切换显示功能【附源码下载】
2017/12/12 Javascript
vue 的keep-alive缓存功能的实现
2018/03/22 Javascript
koa+jwt实现token验证与刷新功能
2019/05/30 Javascript
Jquery动态列功能完整实例
2019/08/30 jQuery
解决vue 表格table列求和的问题
2019/11/06 Javascript
jquery使用echarts实现有向图可视化功能示例
2019/11/25 jQuery
Python的print用法示例
2014/02/11 Python
《Python之禅》中对于Python编程过程中的一些建议
2015/04/03 Python
python selenium自动上传有赞单号的操作方法
2018/07/05 Python
Python TKinter如何自动关闭主窗口
2020/02/26 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
2020/04/15 Python
HTML5 背景的显示区域实现
2020/07/09 HTML / CSS
html5小程序飞入购物车(抛物线绘制运动轨迹点)
2020/10/19 HTML / CSS
澳大利亚墨水站Ink Station:墨水和碳粉打印机墨盒
2019/03/24 全球购物
初任培训自我鉴定
2013/10/07 职场文书
记者岗位职责
2014/01/06 职场文书
《月迹》教学反思
2014/02/19 职场文书
班级口号大全
2014/06/09 职场文书
小学社会实践活动总结
2014/07/03 职场文书
贷款委托书怎么写
2014/08/02 职场文书
竞聘演讲稿开场白
2014/08/25 职场文书
安全环保演讲稿
2014/08/28 职场文书
党性锻炼的心得体会
2014/09/03 职场文书
职代会闭幕词
2015/01/28 职场文书
党员转正大会主持词
2015/07/02 职场文书
python3 hdf5文件 遍历代码
2021/05/19 Python
MySQL 聚合函数排序
2021/07/16 MySQL