简介:现在的网站,基本上都是集群,分布式架构,在你实现登录的时候,每浏览一个网站的时候,都要登录,如:百度下面的百度浏览器,百度贴吧,百度知道…,你只要登录了一个,百度下面的所有软件都不要再次登录,这就是单点登录
1、单点登录常用方式
1.1、session广播机制实现(废弃)
简单来说就是通过实现session复制
思路:
session.setAttribute("username",username);
...
优点:在分布式项目中,少许几个模块可以实现。
缺点:在众多模块中,就有点耗费资源,代码冗余过多,并且session有过期时间为三十分钟。
1.2、cookie+redis实现(常用)
cookie:客户端技术,每发送一个请求,都会携带一个cookie。
redis:内存数据库,数据读取速度快,数据持久性强,基于key-value做的存储。
思路:
1.3、使用token(令牌)实现(常用)
token:按照一定规则(可以diy)生成字符串,包含用户信息,如服务器IP地址,职位,简介…加密(base64)生成token字符串。
思路: