手撸SSO单点登录(一):序言

开源地址:

代码下载地址在最后面

功能介绍 本篇是基于HttpSession技术实现的单点登录,权限认证基于标准OAuth2协议、支持分布式Session共享的SSO单点登录功能。

HttpSession 服务端的技术
服务器会为每一个用户 创建一个独立的HttpSession

HttpSession原理
当用户第一次访问Servlet时,服务器端会给用户创建一个独立的Session
并且生成一个SessionID,这个SessionID在响应浏览器的时候会被装进cookie中,从而被保存到浏览器中
当用户再一次访问Servlet时,请求中会携带着cookie中的SessionID去访问
服务器会根据这个SessionID去查看是否有对应的Session对象
有就拿出来使用;没有就创建一个Session(相当于用户第一次访问)

域的范围:
    Context域 > Session域 > Request域
    Session域 只要会话不结束就会存在 但是Session有默认的存活时间(30分钟)

技术框架

开发框架 SpringBoot
认证技术 基于OAuth2
数据库 Mysql
缓存 Redis

项目结构

yuantai-sso
├── sso-common-code -- 客户端通用代码
├── sso-redis -- 客户端Redis依赖,分布式redis支持
├── sso-db -- 客户端数据库依赖
├── sso-client -- 客户端
├── sso-authentication -- 认证中心

SSO登录原理-时序图

在这里插入图片描述

单点登录页面

在这里插入图片描述

单点登录成功页面

在这里插入图片描述
参考了众多系统设计包含单不限于许雪里xxl-sso等,希望大家在评论区提出宝贵意见。敬请期待第二篇文章。
视频讲解教程https://www.bilibili.com/video/BV1SF411T7u2/

代码下载方式
搜索微信公众号:攻城狮小章鱼 ,关注后 ,发SSO源码获取源代码
在这里插入图片描述

  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
抱歉,作为AI语言模型,我无法为您编写完整的代码。但是,我可以为您提供一些指导,帮助您开始编写基于Vue的SSO单点登录系统。 首先,为了实现SSO单点登录,您需要有一个中心认证系统(CAS)来处理用户身份验证和授权。CAS是一个开源项目,具有广泛的社区支持,可以与Vue集成。您可以使用一个现成的CAS服务,例如Apereo CAS,或者自己部署一个CAS服务器。 在Vue中实现SSO单点登录的基本步骤如下: 1. 配置CAS客户端 您需要在Vue中配置CAS客户端,以便CAS服务器可以向您的应用程序发送认证票据。您可以使用cas-client-vue插件来简化CAS客户端的配置。 2. 编写CAS登录页面 创建一个CAS登录页面,以便用户可以在该页面上输入其凭据并进行身份验证。您可以使用Vue组件来创建登录页面,并使用CAS客户端API来实现登录逻辑。 3. 编写应用程序 创建您的应用程序,并确保将CAS客户端配置正确。您可以使用Vue Router来管理您的应用程序中的路由。 4. 集成CAS单点注销 您需要确保当用户注销时,他们的会话被正确终止,并且他们被重定向到CAS服务器以进行单点注销。您可以使用cas-client-vue插件来简化单点注销的集成。 总之,实现SSO单点登录需要涉及到多个方面,包括CAS服务器的配置、CAS客户端的集成、登录页面的创建和应用程序的编写。希望这些指导可以帮助您开始编写基于Vue的SSO单点登录系统。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值