首先response如果是成功的话,就是登陆成功,我就不往session里面放值了,直接调用RedisPoolUtil,setEx方法,在设置的时候,直接把他的时间加上,key就用session.getId(),用session的id,value就是JsonUtil,就是我们之前封装的,obj2String,然后把response的data放进来,然后再放一下他的时间,这个时间,直接加到这里面,public interfaceRedisCacheTime,直接设置的时间,int,int一个什么值呢,REDIS_SESSION_EXTIME,等于60*30,也就是30分钟,因为他的单位是秒,60秒是一分钟,登陆的时候我们把redis,里面放的session,有效期设置为30分钟,然后这里面调用一下他
    /*** 用户登录* @param username* @param password* @param session* @return*/@RequestMapping(value = "login.do",method = RequestMethod.POST)@ResponseBodypublic ServerResponse<User> login(String username, String password, HttpSession session, HttpServletResponse httpServletResponse){ServerResponse<User> response = iUserService.login(username,password);if(response.isSuccess()){//            session.setAttribute(Const.CURRENT_USER,response.getData());CookieUtil.writeLoginToken(httpServletResponse,session.getId());RedisShardedPoolUtil.setEx(session.getId(), JsonUtil.obj2String(response.getData()),Const.RedisCacheExtime.REDIS_SESSION_EXTIME);}return response;}
我们现在要把登陆信息保存到服务端的redis里面,那我们看一下,sessionId是什么,开始部署tomcat,我们要配置两个tomcat server,第一个是tomcat1,我们再配置一个,因为前面的集群是做了两个tomcat,把第一个tomcat改一下名字,方便我们来识别,tomcat1和2就OK了,可以看到,这里面用的类也是不一样的,然后我们先把他部署到tomcat1上,JRE选择我们配置的,1是8080端口,2是9080,默认给我们tomcat的一个配置,选择war包,再强调一次,因为我们用的斜杠,我们点击debug启动,这边打一个断点,可以看到我们这个首页已经启动了,我们点开检查,然后看一下application里面的cookie,我们可以看到这个时候有一个cookie

JSESSIONID,value是F51C,这么一个value,因为我们这个代码,login.do是需要post请求的,所以我们还要把测试工具打开,我们来模拟请求一下,现在进入到属性的界面,这里都是一期讲的各种接口,下面有一个2.0,这个是我调试时候用的,把它删除掉,创建一个project,然后在里面创建一个service,然后add a request,我们打开这个open request,开始写我们的模拟,我们不用https的,请求localhost,login.do,然后add两个参数,一个是username,另外一个是password,我们这个账号密码还要准确的,否则呢,isSuccess就进不来了,账号密码都是admin,当然这是我们测试库的测试密码,然后我们点击send

单点登录Redis存储Session及Cookie场景介绍相关推荐

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

    现在就是要改造我们getUserInfo,因为我们不会再从session里面获取用户,首先我们要哪一个login_token,这个时候拿到loginToken,如果loginToken是empty的话 ...

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

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

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

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

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

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

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

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

  6. java redis 存session_JavaWeb: Redis存储Session方案

    所有支持Servlet规范的容器都自带session管理,于是大多数人都使用HttpSession接口存放状态信息.事实上, servlet的session会使得应用服务器水平扩展变的非常困难. 使用 ...

  7. php ?redis,PHP使用Redis存储Session

    对于大访问量的网站来说,会有许多的客户端和服务端建立链接,就会生成许多 Session 文件,由于 Session 文件是存储在硬盘上的,因此每次服务器去读取这些 Session 文件都要经过许多的 ...

  8. JavaWeb: Redis存储Session方案

    2019独角兽企业重金招聘Python工程师标准>>> 所有支持Servlet规范的容器都自带session管理,于是大多数人都使用HttpSession接口存放状态信息.事实上, ...

  9. 单点登录系统中如何共享cookie

    使用cookie的两个属性 domain-域 通过设置这个属性可以使多个web服务器共享cookie.domain属性的默认值是创建cookie的服务器的主机名.不能将一个cookie的域设置成服务器 ...

最新文章

  1. 机房收费系统【VB版】——前期准备
  2. 虚拟机安装python3.6.6_python3.6安装,解决import sqlite错误
  3. pandas的str函数的一些功能
  4. Btrace详细指南(JDK7,监控HashMap扩容)
  5. SAP Spartacus B2B功能,只渲染BodyContent position里的UI
  6. [模拟|数位] leetcode 9 回文数
  7. 编程语言“鄙视链” +1?亚马逊力捧 Rust,Go 技术负责人连发 14 条推特抵制“拉踩”...
  8. Android的Wifi系统框架分析第一篇
  9. centOS7.6 服务器配置环境
  10. oracle rman在线备份,Oracle的RMAN备份与恢复脚本
  11. linux环境下,集群中Hadoop版本更换
  12. Vegas渲染的时候选什么格式?
  13. 【手撕算法】PatchMatch图像修复算法C++实现
  14. Excel 多个条件同时重复时,自动标红
  15. 用java做出长方体的表面积_计算长方体、四棱锥的表面积和体积(Java)acm.sdut...
  16. 基于STM32的物联网下智能化养鱼鱼缸控制控制系统
  17. 梦想遥不可及,现实寸步不离
  18. 启用邪恶-使用XmlSerializer和一些魔术在Xml中隧道化Xml
  19. 【Linux】 基础入门 全解
  20. 分布式、微服务、集群

热门文章

  1. 【转】全排列算法非递归实现和递归实现
  2. dm9000 driver 1
  3. 大话设计模式—单例模式
  4. java跳出指定循环
  5. Android Jetpack组件之数据库Room详解(三)
  6. python--Time(时间)模块
  7. JS学习--Date对象
  8. openssl pem 生成公钥和私钥及文件
  9. Gradle 依赖项管理
  10. 基于jquery的上传插件Uploadify 3.1.1在MVC3中的使用