现在就是要改造我们getUserInfo,因为我们不会再从session里面获取用户,首先我们要哪一个login_token,这个时候拿到loginToken,如果loginToken是empty的话,我们还是返回用户未登录,把这个拿过来,也就是说我获取用户信息的时候,也就是mmall_login_token,我拿不到他,那如果拿到了呢,很简单,这个用户的json字符串,get的key是什么呢,key就是我们loginToken,然后把这个字符串转成User,因为只有对象,没有集合,然后后面继续做这个判断,上面就是获取用户的信息,Session这个对象就用不上了,同样的我们把删除cookie写在logout里边
    @RequestMapping(value = "logout.do",method = RequestMethod.POST)@ResponseBodypublic ServerResponse<String> logout(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse){String loginToken = CookieUtil.readLoginToken(httpServletRequest);CookieUtil.delLoginToken(httpServletRequest,httpServletResponse);RedisShardedPoolUtil.del(loginToken);//        session.removeAttribute(Const.CURRENT_USER);return ServerResponse.createBySuccess();}
现在我们来写logout,logout也很简单,同样的我们去读取一下loginToken,接下来这个session也不用了,我们用的还是servletRequest,那么这个时候我们的loginToken就删除了,同样的我们在redis里面,logout我们就写完了
    @RequestMapping(value = "logout.do",method = RequestMethod.POST)@ResponseBodypublic ServerResponse<String> logout(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse){String loginToken = CookieUtil.readLoginToken(httpServletRequest);CookieUtil.delLoginToken(httpServletRequest,httpServletResponse);RedisShardedPoolUtil.del(loginToken);//        session.removeAttribute(Const.CURRENT_USER);return ServerResponse.createBySuccess();}

单点登录Redis存储Session及SessionId问题说明与集群实战-4相关推荐

  1. 单点登录Redis存储Session及SessionId问题说明与集群实战-1

    断点已经到这儿了,sessionId我们看一下,sessionId是B218,我们把value copy一下 放到这里,然后让Redis存上,key就是session的id,value就是user,后 ...

  2. 单点登录Redis存储Session及SessionId问题说明与集群实战-3

    那现在我们就是要把sessionID的login请求,我们再看一下redis,回到我们的代码,我们现在不请求localhost:8080了,我们要请求happymall.com,因为我们 已经把他配置 ...

  3. 单点登录Redis存储Session及SessionId问题说明与集群实战-2

    我们要写什么呢,我们要在服务端写一个cookie,而这个cookie呢,是写在客户端上的,那他写的就是登陆时候的,sessionId,非常简单,我们开始写一下,首先新建一个类,我们就在util里面创建 ...

  4. 单点登录Redis存储Session及Cookie场景介绍

    首先response如果是成功的话,就是登陆成功,我就不往session里面放值了,直接调用RedisPoolUtil,setEx方法,在设置的时候,直接把他的时间加上,key就用session.ge ...

  5. yii2设置session时间_关于 Swoft 2.0 版本用 Redis 存储 session 时配置问题

    Swoft 2.0 在 session 配置上和 1.0 还是有一些不同地方,而关于这些在 github 上完全没有任何说明,甚至连文档也没有.经过逐步梳理源代码(其中要理解他的 "注解&q ...

  6. 使用Redis缓存Shiro授权认证信息,搭建集群权限系统

    应用如果做负载均衡,集群间session需要共享,如果session没有共享,用户登录系统以后session保存在登录的应用里面,其他应用里面没有session,没有登陆状态,访问会失败.下面介绍一个 ...

  7. redis的三大模式主从,哨兵和集群

    一.前言 二.redis主从复制 1.主从复制的作用: 2.主从复制的流程 3.搭建主从复制 3.1.搭建环境 3.2.安装redis 3.3.主服务器配置查看以下行 3.4.从服务器配置查看以下行 ...

  8. Redis高可用——主从复制、哨兵模式、集群

    文章目录 一.Redis高可用 1.什么是高可用 2.Redis的高可用技术 二.Redis主从复制 1.Redis主从复制的作用 2.主从复制的流程 三.主从复制的搭建 实验准备 1.所有主机安装R ...

  9. Redis实践(二)高可用的集群+哨兵部署

    项目中通常会需要若干台Redis服务器来协同担当起内存数据库的工作,在redis的部署方案上要考虑下面几点: 结构上,单个 Redis 服务器会发生单点故障,而且一台服务器需要承受所有的请求负载. 这 ...

最新文章

  1. Spring的Lifecycle
  2. pom.xml配置文件配置jar(不用记,快速配置)
  3. c++真的比java难吗_开课吧Java课程怎么样?开课吧的Java课程真的那么好吗?
  4. 扑捉和捕捉的区别照相_3种摄影中捕捉动作的基本方法
  5. linux命令——scp 两台linux机器间文件或目录传输
  6. webService发布在IIS服务器上
  7. LINUX给机器改名
  8. valgrind 内存泄露检测
  9. android抢qq红包源码,QQ抢红包插件实现
  10. 百度万年历API(主要获取节假日和调休工作日数据)
  11. 电路串联和并联图解_电路串联和并联的区别有哪些
  12. ML-Agents案例之推箱子游戏
  13. 头条-day04_文章搜索前后端成形记 实名认证审核
  14. 机器学习笔记(三)——归一化、KD树、数值型特征无量纲化、数值型特征分箱等
  15. 【JWT】JWT JWS JWE | 在线JWS解析工具
  16. python爬虫(爬取王者荣耀英雄图片)
  17. 知识问答 - 名侦探柯南
  18. 2022最新软件测试学习路线图
  19. 渗透测试的灵魂:信息收集
  20. 圣思园——Java SE Lesson 4

热门文章

  1. C#中Dictionary的用法
  2. ic designer
  3. nand ubi -4 kernel和mtd
  4. 从雷军那里反思,做什么样的公司?
  5. 直流电机 步进电机 伺服电机
  6. Received empty response from Zabbix Agent at [172.16.1.7]...
  7. 实现Java集合迭代的高性能
  8. 思科 IPSec ***配置2:
  9. Javascript基础系列之(六)循环语句(do while循环)
  10. Js中清空文件上传字段(input type=file )