问题描述:easyii 后台原先自己就写好了退出登录,如下图所示。点击了退出登录后,页面也会自动跳转到登录的页面。但是问题是,在浏览器点击返回的时候,还是依旧能进入到后台中,退出登录根本就没有起到作用。

原因:

退出登录的调用方法为: Yii::$app->user->logout();
这个方法写在 \vendor\yiisoft\yii2\web\User.php 这个文件中

可以看到336行,它返回的是$this->getIsGuest(); 这个方法是判断当前用户是否为游客,如果是游客那么返回true;
进入这个方法

可以看到这个方法是获取当前登录的用户信息,然后再判断是否等于null,如果当前用户信息($this->getIdentity)等于null,那么返回true

然后再进入这个方法:

这里可以看到,这个方法最后返回的是当前登录的用户信息。但是之间他做了什么,他判断了,如果存在自动登录,他会根据session中存在的用户id,重新去拉取完整用户信息,所以一旦设置了自动登录,而且session中依旧存在用户的id,那么这个方法用户返回的都是true。所以退出登录根本就没有作用了。

解决方法: 在配置文件中,将自动登录设置为false,

本人当时在设置完后,依旧没有成功退出登录,原因是session没有清除掉,所以最后我在退出登录的方法前加了一句,手动清除了session

完毕

次文章给使用yii2的新手,或者刚学php的同学们,做参考,如遇同样的问题,可尝试使用以上方法解决。

最新文章

  1. SQL 提示介绍 hash/merge/concat union
  2. Ext小总结
  3. JAVA EE中session的理解
  4. 转:eclipse的workspace和working set
  5. MFC获取系统当前时间的几种方法
  6. hdu 4223
  7. Linux编程环境介绍(2) -- shell(Bash) 介绍
  8. 全角和半角相互转换(C语言实现)
  9. Swift - 正则表达式的使用(附用户名、邮箱、URL等常用格式验证)
  10. webstorm 激活码
  11. springboot由于mysql表类型导致的 setRollbackOnly() 事务不回滚
  12. dropload.js(上拉加载插件使用过程中遇到的坑)
  13. scrapy + selenium 的动态爬虫
  14. HDU - 6314 Matrix(广义容斥原理)
  15. 【规范】前端编码规范——css 规范
  16. 去掉vim的BELL提示音
  17. HTTP Protocol - URI
  18. CSS 美化radio checkbox
  19. Django 之多对多关系
  20. 装箱问题(NOIP2001&水题测试2017082401)

热门文章

  1. Python是什么?
  2. 思维导图学 Kotlin
  3. bootstrap 按钮颜色属性
  4. CPU:网卡老哥,你到底怎么工作的?
  5. MockWebServer使用指南(转载)
  6. 使用Flutter重构斗鱼APP
  7. 基础篇——怎么使用PowerDesigner进行数据库初始化
  8. 分布式存储系统-HDFS
  9. LeetCode初级算法之数组:1 两数之和
  10. Java并发编程的艺术(一)——并发编程的注意问题