Sso系列之-概要设计及代码实现

一.前言

优化上一章节讲解了Sso原理,这一节只讲代码的实现。涉及到sso的单点登录一般需要处理4块业务逻辑:

  1. 单点登录
    就是通过sso服务端进行登录的操作。
  2. 票据验证
    将传递到客户端的票据拿到服务端进行验证。
  3. 授权验证
    当在sso服务登录成功后访问别的项目无需在次登录的操作。
  4. 单点退出
    当一个sso客户端退出后其他的sso客户端也需要统一退出的操作。

二.单点登录

2.1 业务流程图

在这里插入图片描述

2.2 业务说明

  1. 我们sso客户端访问需要登录的url 或者登录的url 直接跳转到sso服务端的登录页面(如果已经登录则直接跳转到访问的url)
  2. 直接访问登录的url,sso客户端的拦截器会将其直接重定向到 sso服务端的登录页面并携带sso客户端访问地址。
  3. 访问sso客户端需要登录的url(没有登录的情况下)会重定向到sso服务端单点授权验证逻辑中。如果该用户未登录则重定向到 sso服务端的登录页面并携带sso客户端访问地址。
  4. 输入用户名和密码在sso服务端进行登录,如果用户名和密码错误则重新跳转到登陆页面并提示错误信息。
  5. 如果用户名和密码正确,则生成 GrantingTicket 并将GrantingTicket 的id 放入cookie中。然后生成 ServiceTicket 并将ServiceTicket 放入GrantingTicket 的缓
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值