单点登录(sso)

单点登录(single sign on)sso

实现方式

  1. 第一种:session广播实现

session复制,如果服务较多,会造成资源浪费,会造成数据重复,浪费空间 (早期使用)

  1. 使用cookie+redis实现

1.在项目中任何一个模块进行登录,登录之后,把数据放到两个地方:
(1) redis,在key:生成唯一随机值(ip、用户id等等),在value:存放用户数据
(2) cookie:吧redis里面生成的key值放到cookie里面
2.访问项目中其他模块,发送请求带着cookie进行发送,获取cookie值,拿着cookie做事情:
(1)用cookie获取值,到redis进行查询,根据key进行查询,如果查询到数据就是已登录

  1. 使用token实现

1.在项目某个模块进行登录,登录之后,按照规则生成字符串,把登录之后用户包含到生成字符串里面,把字符串返回
(1)可以把字符串通过cookie返回
(2)把字符串通过地址栏返回
2.再去访问项目其他模块,每次访问在地址栏带着生成字符串,在访问模块里面获取地址栏字符串,根据字符串获取用户信息。如果可以获取到,就是已登录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值