java中cookie技术的使用(实现单点登录)
#什么是cookie?
是HTTP协议规范之一。
#cookie用来做什么?
客户端与服务端传输的数据时候会用到cookie,服务端无法直接从网络连接当中辨别访问者当前的身份,这时候就该用到cookie技术了。所以在cookie实现单点登录的场景中,他扮演着通行令的角色。(tip:浏览器每次向服务器发送请求时都要发送cookie的!!!);
#那么如何来运用cookie技术呢?运用cookie技术能干什么呢?
#单点登录
(1)大致思路
浏览器第一次访问(request) >>>>> 服务器接受请求进行业务处理(生成一个token存入cookie中返回给浏览器—response) >>>>>>>浏览器接收到带参数的cookie保存到本地内存中
之后浏览器每次登陆都会带着这个cookie访问,如果与后台所生成的cookie匹配的话即可登陆。
(2)实现代码:
服务端 (第一次登陆)
//由于用户第一次登陆在服务端需要对进行业务操作,把此用户信息存入cookie中(tip:需要设置cookie相应参数 例如:生命周期 这里设置的是三十天)
Cookie cookie = new Cookie(“userName”, “zhangsan”); //key:username,value:zhangsan
cookie.setMaxAge(30 * 24 * 60 * 60);//设置生命周期为三十天
//默认路径 cookie.setMaxpath("/") 不写的话默认的就是本地路径同一目录的所有文件都可访问cookie
response.addcookies(cookie);
这时客户端就有了cookie相应的内容并持久化到内存中,下次登录时候就会带着这个cookie到服务端进行验证。
《由于时间有限验证的流程下次补全,本文为一名编程初学者的一些见解,如果有不对的地方希望大佬们指出纠正谢谢!》