专业的JAVA编程教程与资源

网站首页 > java教程 正文

SSO单点登录(三种实现方式)

temp10 2024-11-20 21:46:06 java教程 13 ℃ 0 评论

1、什么是单点登录

单点登录就是用户集群部署的分布式架构下,只需要在某个模块登录后,再去访问其他模块的时候不需要登录验证。

2、单点登录的三种实现方式

(1)session广播机制

SSO单点登录(三种实现方式)

实现方式:用户在某个模块登录后,用户信息存在这个模块session中,然后在其他模块进行session复制

缺点:虽然可以实现SSO,但是假如项目有几十个模块,就要复制几十次session,极大的消耗资源资源。

(2)用cookie+redis实现

cookie特点:是一种客户端技术,每次发送请求,带着cookie值进行发送

redis特点:基于key-value进行存储

实现方式:在项目中任何一个模块进行登录,登录之后,把数据放到两个地方:

①redis:在key:生成唯一随机值,在value:存放用户数据

? ②cookie:把redis里面生成的key值放到cookie里面

? 访问项目中访问其他模块时,发送请求带着cookie进行发送,获取cookie值,到redis根据key进行查询,如果查询到数据就是 登录,查不到就没有登录。

(3)使用token实现

token是什么:按照一定规则生成的字符串,字符串可以包含用户信息

实现方式:在项目某个模块进行登录,登录之后,按照规则生成字符串,把登录之后用户信息包含到生成的字符串里面,把①字符串通过地址栏返回②把字符串通过cookie返回,再去访问其他模块时,在地址栏带着生成的字符串,在访问模块里面获取地址栏字符串,根据字符串获取用户信息,如果可以获取到就是登录。

私信666领取资料

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表