在响应中添加cookie


@RequestMapping(value="/casLogin", method= RequestMethod.GET)
public CommonResult<String> casLogin(HttpServletResponse response, @RequestParam String accessToken, @RequestParam String refreshToken) {try {Cookie accessTokenCookie = new Cookie("access_token", accessToken); //创建Cookie对象,指定名字和值Cookie refreshTokenCookie = new Cookie("access_token_Refresh", refreshToken); //创建Cookie对象,指定名字和值response.addCookie(accessTokenCookie); //在响应中添加Cookie对象response.addCookie(refreshTokenCookie); //在响应中添加Cookie对象return CommonResult.success("登录成功!");} catch (Exception e) {return CommonResult.failed(e.getMessage());}
}

从请求中获取cookie

@RequestMapping(value="/casLoginOut", method= RequestMethod.GET)
public CommonResult<String> casLoginOut(HttpServletResponse response, HttpServletRequest request) {try {String access_token = "";Cookie[] cookies = request.getCookies();for (int i = 0; i < cookies.length; i++) {Cookie cookie = cookies[i];if (cookie.getName().equals("access_token")) {access_token = cookie.getValue();}}RestTemplate client = new RestTemplate();//截取网关ip和portString gateWay = StringUtils.substringBeforeLast(gateWayHost, "/");StringBuilder sb = new StringBuilder(gateWay);sb.append("/logout");sb.append("?Authorization=");sb.append(access_token);String template = client.getForObject(sb.toString(), String.class);JSONObject jsonObject = JSONObject.parseObject(template);Integer statusCode = (Integer)jsonObject.getJSONObject("meta").get("statusCode");Boolean success = (Boolean)jsonObject.getJSONObject("meta").get("success");if (statusCode == 200 && success) {Cookie access = new Cookie("access_token", ""); //创建Cookie对象,指定名字和值Cookie refreshTokenCookie = new Cookie("access_token_Refresh", ""); //创建Cookie对象,指定名字和值access.setMaxAge(0); //另有效时间为0则系统会自动删除过期的cookierefreshTokenCookie.setMaxAge(0); //另有效时间为0则系统会自动删除过期的cookieresponse.addCookie(access);response.addCookie(refreshTokenCookie);return CommonResult.success("退出登录成功!");}logger.error("网关退出登录失败!");return CommonResult.failed("退出登录失败!");} catch (Exception e) {logger.error(e.getMessage());return CommonResult.failed("退出登录失败!");}
}

springboot操作cookie相关推荐

  1. SpringBoot 操作elasticsearch

    SpringBoot 操作elasticsearch 版本环境 jdk1.8 elasticsearch 7.6.1 maven <dependency><groupId>or ...

  2. javascript操作cookie

    javascript操作cookie 代码 01 function getCookie(name) 02 { 03 var arr,reg=new RegExp("(^| )"+n ...

  3. JavaScript 操作 Cookie

    从事web开发也有些日子了,cookie 是个啥差不多能说明白,可是实际自己一上手操作就是得去搜索(你们懂的),结果被鄙视了...所以就写一篇博文做为自己的学习笔记,嘿嘿,博客的好处在此体现出来了. ...

  4. Selenium3自动化测试——14.操作Cookie

    1. 实现目标 获取浏览器的Cookie,才能进行白盒与黑盒测试. 在Webdriver中有如下操作Cookie的方法: get_cookies():   获取所有Cookie get_cookie( ...

  5. SpringBoot操作Redis哈希类型

    概述 SpringBoot操作Redis复杂对象,通常使用RedisTemplate,直接声明即可. @Autowired private RedisTemplate redisTemplate; p ...

  6. Jquery操作Cookie取值错误的解决方法

    使用JQuery操作cookie时 发生取的值不正确,结果发现cookie有四个不同的属性,分享下错误的原因及解决方法. 使用JQuery操作cookie时 发生取的值不正确的问题:  结果发现coo ...

  7. springboot 禁用 cookie / chrome 禁用 cookie

    前言 360极速浏览器 12.0.1524.0 (正式版本) (32 位) 测试 springboot 功能时,需要先禁用 cookie.先想到的方法为,让 springboot 禁用 cookie. ...

  8. jquery.cookie 使用文档,$.cookie() 文档教程, js 操作 cookie 教程文档。

    jquery.cookie 使用文档,$.cookie() 文档教程, js 操作 cookie 教程文档. jquery.cookie中的操作: jquery.cookie.js是一个基于jquer ...

  9. selenium ie 操作cookie_Python3中selenium 怎么操作Cookie?

    webdriver提供了操作Cookie的相关方法,可以读取,添加和删除cookie信息. webdriver操作cookie()的方法: get_cookie(): 获得所有cookie信息. ge ...

最新文章

  1. xmemcached发布1.3.4
  2. 剖析Hadoop和Spark的Shuffle过程差异(一)
  3. matlab特征点数量,特征点检测效果评估(matlab代码)
  4. Nginx命令配置到系统环境
  5. 安装Google Object Detection API
  6. 美丽人生论坛看贴工具delphi版
  7. poj 1743 二分答案+后缀数组 求不重叠的最长重复子串
  8. 【方案分享】抖音平台新媒体百问百答:平台规则、爆款涨粉、运营技巧、内容变现.pdf(附下载链接)...
  9. org.apache.catalina.LifecycleException: Protocol handler start failed
  10. tomcat相关问题汇总
  11. access百度翻译 get_求助,百度翻译后我还是不知道怎么解决这个问题
  12. 在.net开发过程中遇到的问题种种
  13. 无监督学习之稀疏编码,自编码
  14. 微信小程序之文件上传PHP后台接收
  15. 【Python 跟书学习笔记】
  16. vue项目 - Mockjs 模拟后台接口数据
  17. VS2019 OpenGL glut:错误: 无法打开包括文件:“gl/glut.h”: No such file or directory
  18. android 打包多个apk注意事项:
  19. Windows编程语言VBA学习(二)——VBA基础
  20. 使用MyBatis-Plus 导致接口响应变慢的原因分析

热门文章

  1. matlab计算kl散度命令,熵,交叉熵,KL散度公式与计算实例
  2. 2023全新在线授权系统源码V3.7全开源无加密版,完美可用支持二次开发
  3. My Eclipse 软件解锁秘钥
  4. Win8 RT 设备部署Win 10 RT
  5. ubuntu查看内存
  6. CRE6908D100R085V
  7. 中国最狂天才,清华第一个退学博士,指责谷歌,遭微软全球封杀!
  8. 什么是机器学习、深度学习、图神经网络?
  9. 美术理科生能报计算机专业吗,理科生可以报哪些艺术类专业
  10. 关于人、世界、精神、物质的一种思考(你不要将它当真啦^_^)