SSO单点登录基础解析:认证流程与核心技术

需积分: 9 6 下载量 41 浏览量 更新于2024-08-18 收藏 400KB PPT 举报
该资源是关于SSO(Single Sign-On)认证流程的基础讲解,主要涵盖了SSO的概念、架构、核心技术以及同域下SSO系统的分析、设计与实现。通过学习,可以了解SSO如何简化用户的登录体验,以及在实际开发中的具体应用。 1. SSO概述: SSO是一种让用户在一次登录后就能访问多个相互关联的应用系统的认证方式。其核心组成部分包括认证中心、用户与账号系统、用户数据获取接口、客户端模块以及令牌(token)。认证中心作为SSO服务端的核心,负责处理授权验证;用户与账号系统则存储用户信息,提供数据接口供其他系统调用;客户端模块则用于处理用户请求,实现与认证中心的交互。 2. SSO认证流程: 当用户尝试访问业务资源时,如果未登录或token无效,系统会将请求重定向到SSO认证页面。用户在该页面输入凭证后,系统生成一个token,然后将用户请求携带token再次发送给业务资源。如果token有效且授权成功,用户就能顺利访问资源。 3. SSO相关核心技术: - HTTP、cookie与session:HTTP是基础协议,cookie常用来在客户端保存用户状态,session存储在服务器端。 - cookie与session的关系:cookie可以作为session的载体,将sessionID传递回服务器。 - cookie的属性:包括name、value、expires、path、domain、httpOnly和secure,这些属性影响cookie的内容、生命周期和有效范围。 - JavaScript和JavaWeb中操作cookie的方法:通过API进行设置、读取和删除cookie。 - filter:在Web层,filter作为拦截器,可以用来处理请求,如SSO的认证检查。 4. 同域下单点登录系统分析与设计: - 需求分析:明确系统功能和流程,划分模块。 - 数据库设计:创建存储用户信息和token的表。 - 项目结构搭建:认证中心和服务端、客户端的项目结构规划。 - 模拟业务系统:通过创建两个简单的Web项目来模拟实际场景。 5. 同域下单点登录系统服务端实现: - 代码规划:包括基础代码和核心业务代码的编写。 - 部署与运行:完成服务端代码后,部署并测试其功能。 6. 同域下单点登录系统客户端实现: - 客户端代码结构规划:定义客户端的组织方式。 - 请求拦截与认证验证:使用filter拦截请求,验证用户认证信息。 - 通信与验证:与服务端通信,验证token的有效性,并获取用户信息。 通过本课程的学习,开发者可以掌握SSO的基本原理和实现方法,从而在实际工作中实现更便捷、安全的用户认证管理。