SSO(Single Sign On)系列(二)--SSO原理

一、SSO整体访问流程

a.访问服务:SSO客户端发送请求访问应用系统提供服务资源

b.定向认证:SSO客户端会重定向用户请求到SSO服务器

c.用户认证:用户身份认证

d.发放票据:SSO服务器会根据TGT随机生成一个ST

e.验证票据:SSO服务器验证ST的合法性,验证通过后,允许客户端访问服务

f.传输用户信息:SSO服务器验证票据通过后,传输用户认证结果信息给客户端

g.单点退出:用户退出单点登录

二、5种情况的访问流程:

名词解释:

登录点:首次进入应用系统登录的站点称为登录点

单点:用户已经登录,而后再访问另一应用系统的站点

1、登录点首次访问

首次访问应用系统,进入登录页面的过程

用户首次访问网站,session中没有用户上下文,于是将请求地址包装为service参数,转向SSO服务器“定向”认证,SSO服务器返回登录页面,用户输入用户名和密码等凭证信息,交给SSO服务器,SSO服务器进行认证,认证成功后,生成TGT,并且根据TGT随机生成ST,返回给浏览器,浏览器带着票据ST的service参数请求,请求SSO服务器验证票据,验证票据成功后,返回给用户信息,设置session用户上下文、cookie中设置TGC。

2、登陆点二次访问

"登录点"首次登录后,再次进行正常访问的过程

用户在首次登录成功后,再次访问登录点的应用服务时,判断session中存在用户上下文,就不再拦截,直接转向到需要访问的目标服务资源。

3、单点首次访问

已经在上述"登录点"登录后,再首次访问另一个应用系统进行访问的过程

4、单点二次访问

"单点"在首次登录后,再次进行正常访问的过程

5、单点登出

总结

SSO主要包含:认证中心、SSO服务器、SSO客户端

认证中心:用户首次访问一个由SSO统一管理的Web应用服务器地址时,SSO
Server会将用户信息与认证系统中的内容进行核对。

SSO服务器:主要负责完成用户认证,提供单点登录服务。SSO Server会处理用户名/密码等凭证,它可能会到数据库检索一条用户账号信息,也可能在XML文件中检索用户密码,对这种方式,SSO均提供一种灵活但统一地接口/实现分离的方式,SSO认证方式的实现细节可以自己定制和扩展。

SSO客户端:部署在应用系统,用户请求访问应用系统的受保护资源时,需要将请求转向SSO服务器进行身份认证、单点登录服务相关处理。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-13 18:27:14

SSO(Single Sign On)系列(二)--SSO原理的相关文章

SSO(Single Sign On)

SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制.它是目前比较流行的企业业务整合的解决方案之一. 中文名 单点登录 外文名 Single Sign On 简    称 SSO 解    释 应用系统 目录 1实现机制 ? 系统共享 ? 信息识别 2WEB-SSO 3其他含义 4技术应用 ? 技术实现 ? 应用优势 5应用案例 ? 存在问题 ? 解

SSO(Single Sign On)系列(三)--CAS单点登录

上篇文章介绍了SSO的原理以及5种基本流程,相信看完了之后不难理解单点登录,而CAS是SSO的一种实现方案,原理是一样的.下面介绍一下. CAS Server:负责完成对用户的认证工作,需要独立部署,CAS Server会处理用户名/密码等凭证. CAS Client:负责处理对客户端受保护资源的访问请求,需要对请求方进行身份认证时,重定向到CAS Server进行认证.CASClient与受保护的客户端应用部署在一起,以Filter方式保护受保护资源. CAS请求认证图 说明:CAS Clie

SSO(Single Sign On)系列(一)--SSO简单介绍

任何类型的站点,到达一定规模之后一定会存在这种问题:比方我们有N个系统.传统方式下我们就须要有N对不同的username和password,本来这些系统的开发都能为我们带来良好的效益,用户在用的时候并不方便.每次都须要输入不同的username和password进行身份验证.特别是应用系统较多,用户数目也非常多的企业这个问题尤为突出.问题的出现并非由于我们系统开发出现故障.而是缺少一个同一的用户管理平台. SSO非常好地攻克了上面的问题,通过訪问应用,登录后就能够訪问其它系统或者应用.即多应用系

SSO(Single Sign On)系列(一)--SSO简介

不论什么类型的网站,到达一定规模之后一定会存在这样的问题:比如我们有N个系统,传统方式下我们就需要有N对不同的用户名和密码,本来这些系统的开发都能为我们带来良好的效益,用户在用的时候并不方便,每次都需要输入不同的用户名和密码进行身份验证.特别是应用系统较多,用户数目也很多的企业这个问题尤为突出.问题的出现并不是因为我们系统开发出现问题,而是缺少一个同一的用户管理平台. SSO很好地解决了上面的问题,通过访问应用,登录后就可以访问其他系统或者应用.即多应用系统中,用户只需登录一次即可访问所有相互信

CAS Server实现单点登录(Single Sign On , 简称 SSO )

一.什么是单点登录.二.利用耶鲁大学的开源项目CAS(Central Authentication Service),搭建基于JavaWeb项目的单点登录.三.针对具体项目对CAS做二次开发以适用具体的业务. 一.什么是单点登录.     单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.     当用户第一次访问应用系统的时候,因为还没有登录,会被引导到认证系

java:sso(单点登录(single sign on),jsp文件动静态导入方式,session跨域)

1.jsp文件导入: 2.session跨域: 3.sso(单点登录(single sign on): sso Maven Webapp: LoginController.java: package com.sso.demo.controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.beans

源代码解读Cas实现单点登出(single sign out)功能实现原理--转

关于Cas实现单点登入(single sing on)功能的文章在网上介绍的比较多,想必大家多多少少都已经有所了解,在此就不再做具体介绍.如果不清楚的,那只能等我把single sign on这块整理出来后再了解了.当然去cas官方网站也是有很多的文章进行介绍.cas官网http://www.ja-sig.org/products/cas/. ok,现在开始本文的重点内容讲解,先来了解一下cas 实现single sign out的原理,如图所示: 图一                     

(二)SSO之CAS框架单点退出,自定义退出界面.

用CAS的退出,只能使用它自己的那个退出界面,如果有这样的要求, 要求退出后自动跳转到登录界面, 该如何做呢?下面这篇文章实现了退出后可以自定义跳转界面. 用了CAS,发现退出真是个麻烦事,退出后跳转到了CAS的注销页面,而且不关闭浏览器的话,其实并没有真的退出,输入地址仍是登陆状态.为了实现退出后登陆到跳转页面,做了以下配置: 1.server 端 修改src\main\webapp\WEB-INF\cas-servlet.xml里的logoutController 增加p:followSer

源代码解读Cas实现单点登出(single sign out)功能实现原理

关于Cas实现单点登入(single sing on)功能的文章在网上介绍的比较多,想必大家多多少少都已经有所了解,在此就不再做具体介绍.如果不清楚的,那只能等我把single sign on这块整理出来后再了解了.当然去cas官方网站也是有很多的文章进行介绍.cas官网http://www.ja-sig.org/products/cas/. ok,现在开始本文的重点内容讲解,先来了解一下cas 实现single sign 的原理,如图所示: 登出原理图 从第一张图中,当一个web浏览器登录到应