单点登录

 

    项目分为三个模块

  • server

  • client2

  • client1

server提供的接口

/user/tologin/login/logout

client提供的接口

/user


登录流程介绍

  1. 用户从浏览器发出/user请求到client1

  2. client1的拦截器拦截到用户未登录,则转发到server的/tologin,显示一个登陆界面

  3. 用户点击登录后,server将用户作为token保存到cookie中,将token作为key,password作为value保存到redis中,然后通过回调地址返回client1客户端

  4. client1的拦截器拦截到回调回来的请求时,将token保存到client1对应的cookie中,在控制层通关过个体请求请求server的/user接口,server中通过redis获取用户信息并返回,然后展示在/user对应的页面中

  5. client1登录完成

  6. 用户从浏览器发出/user请求到client2

  7. client2的拦截器拦截到用户未登录,则转发到server的/tologin,server发现cookie中有token则直接将token返回给client2

  8. client2的拦截器拦截到回调回来的请求时,将token保存到client2对应的cookie中,在控制层通关过个体请求请求server的/user接口,server中通过redis获取用户信息并返回,然后展示在/user对应的页面中

  9. client2登录完成

退出流程

  1. 首先server在各个子系统登陆时都要保存子系统的cookie,方便在退出时把所有的子系统的cookie都删除

  2. 然后通过token删除对应的redis中的数据

  3. 最后返回登录界面



https://github.com/cdy1996/sso

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值