Java设置Cookie实现SSO登录并实现Cookie项目共享

本文介绍了Cookie的基本原理和组成,并详细讲解了如何使用Java设置Cookie实现单点登录(SSO)。在实践中遇到的问题包括:登录拦截未放开、SpringBoot版本差异导致的domain设置错误以及Nginx配置导致的跨域Cookie共享问题,文中给出了相应的解决策略。
摘要由CSDN通过智能技术生成

一、Cookie 简介

Cookie,一种储存在用户本地终端上的数据,有时也用其复数形式 Cookies。类型为“小型文本文件”,是某些网站为了辨别用户身份,进行 Session 跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。

其实 Cookie 就是一个键和一个值构成的,随着服务器端的响应发送给客户端浏览器。然后客户端浏览器会把 Cookie 保存起来,当下一次再访问服务器时把 Cookie 再发送给服务器。

1、Cookie 是 HTTP 协议的规范之一,它是服务器和客户端之间传输的小数据
2、首先由服务器通过响应头把 Cookie 传输给客户端,客户端会将 Cookie 保存起来
3、当客户端再次请求同一服务器时,客户端会在请求头中添加该服务器保存的 Cookie,发送给服务器
4、Cookie 就是服务器保存在客户端的数据
5、Cookie 就是一个键值对
Cookie工作原理图

二、Cookie的组成

cookie是浏览器中特有的一个概念,它就像浏览器的专属卡包,管理着各个网站的身份信息。

每个cookie就相当于是属于某个网站的一个卡片,它记录了下面的信息:

1. key:键,比如「身份编号」。
2. value:值,比如袁小进的身份编号「12333333333」,这有点像卡片的条形码,当然,它可以是任何信息。
3. domain:域,表达这个cookie是属于哪个网站的,比如yuanjin.tech,表示这个cookie是属于yuanjin.tech这个网站的。
4. path:路径,表达这个cookie是属于该网站的哪个基路径的,就好比是同一家公司不同部门会颁发不同的出入证。比如/news,表示这个cookie属于/news这个路径的。
5. secure:是否使用安全传输
6. expire:过期时间,表示该cookie在什么时候过期
7. httponly:防止客户端脚本通过document.cookie属性访问Cookie,有助于保护Cookie不被跨站脚本攻击窃取或篡改。

二、Java设置Cookie实现SSO登录

    @GetMapping(value = "sso/login")
    @ApiOperation(value = "sso登录")
    public String ssoLogin(String ticket, HttpServletResponse response) throws Exception {
   
        System.out.println("sso请求开始");
        Map<String, String> paramMap = new HashMap<>()
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java码农大叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值