单点登陆

sjp007 sjp007     2023-03-09     606

关键词:

1.简介

SSO:英文全称Single Sign On,单点登陆。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。一般SSO体系中主要角色有三种:User(多个)Web应用(多个)SSO认证中心(一个)

2. 较流行的实现手段

单点登陆最有名的开源方案当属CAS,全称为Central Authentication Service即中央认证服务。CAS是由Yale大学发起的一个企业级的、开源的项目,旨在为Web应用系统提供一种可靠的单点登录解决方法

除此之外,为了促进业务的进一步发展,必须允许第三方应用接入,由此引申出用户管理的第二个模块:授权登陆。现在流行的授权登陆就是OAuth2.0协议,基本上已经成为事实上的标准,其他私有协议漏洞多,第三方接入也麻烦。

3. 具体实现

3.1. CAS

基础模式 SSO 访问流程主要有以下步骤:

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

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

3. 用户认证:用户身份认证。

4. 发放票据: SSO 服务器会产生一个随机的 Service Ticket 

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

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

下面是 CAS 最基本的协议过程

 技术图片

3.2 Session共享

 技术图片

 

基于RedisSession共享方案。将Session存储于Redis上,然后将整个系统的全局Cookie Domain设置于顶级域名上,这样SessionID就能在各个子系统间共享。

缺点:

1.redis中的session存储对象每个子系统都要存在,导致session使用诸多限制。

2.跨顶级域名无法处理。

3.3基于openId的单点登陆

 技术图片

为了保证多终端登陆,每次用户通过用户名/密码登录时,产生一个OpenId保存在Redis里,并且设定过期时间,这样多个终端登录就会有多个OpenId与之对应,不再会存在一个OpenId失效所有终端验证都失效的情况。

08-微服务版单点登陆系统(sso)实践(2107)(代码片段)

文章目录单点登陆系统简介背景分析单点登陆系统概述单点登陆系统解决方案设计单点登陆系统初步设计服务设计工程结构设计SSO父工程创建及初始化创建父工程父工程pom文件初始配置系统基础服务工程设计及实现业务描述表结... 查看详情

单点登陆

...开发中还经常遇到,尤其是几个系统要集成时必然要考虑单点登录的方案,目前用的最多的也还是CAS单点。看草稿箱有这样的一 查看详情

单点登陆sso实现

需求:多个bs业务系统,在某个业务系统登陆后,访问其他bs应用系统无需重复登陆.制约:必须同一浏览器.解决方案:关键词:cookie,跨域,sso环境lPassport.com登陆认证服务lpis.com病理业务系统llis.com检验业务系统 l login拦截器:验证请... 查看详情

单点登陆思想

单点登录SSO(SingleSignOn)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。单点登录在大型网站里使用得非常频繁,例如像阿里巴巴... 查看详情

cas单点登陆

一、Tomcat配置SSL1.生成serverkey以命令方式换到目录%TOMCAT_HOME%,在command命令行输入如下命令: keytool-genkey-aliastomcat_key-keyalgRSA-storepasschangeit-keystoreserver.keystore-validity3600 用户名输入域名,如localhost(开发或测试用) 查看详情

单点接入方案总结

单点登录首先获取统一门户的登陆凭据,然后通过验证取得登陆名,最后对登陆名在接入系统中进行验证并创建会话。也有一种是约定的方式,比如根据几组串包括时间戳、密钥等进行加密,然后用约定的方式解密获得数据。老... 查看详情

单点登陆cas

1、TGC:Ticket-grantingcookie,存放用户身份认证凭证的cookie,在浏览器和CASServer间通讯时使用,是CASServer用来明确用户身份的凭证。TGT封装了TGC值以及此Cookie值对应的用户信息。2、TGT:ticketgrantingticket,TGT对象的ID就是TGC的值,在服... 查看详情

09-微服务版的单点登陆系统设计及实现(代码片段)

文章目录简介背景分析单点登陆系统快速入门实践工程结构如下:创建认证授权工程添加项目依赖构建项目配置文件添加项目启动类启动并访问项目自定义登陆逻辑业务描述定义安全配置类定义用户信息处理对象网关中登陆路由... 查看详情

sessionid控制单点登陆(代码片段)

1.配置security-context.xml文件<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation= 查看详情

同一账户同时只能在一处登陆(单点登陆)(代码片段)

思路:1:用户登陆-》产生一个随机Key(GUID)(服务器维护一个字典[id,key],放在memcache中)-》同时输出key到客户端Cookie每次用户访问页面,检测是否登陆时,读取浏览器的Cookie,都判断key是否和服务器的相同。 eg: 用户在... 查看详情

cas单点登出了还能获取到用户登陆信息

两台机器登陆应用.其中A登出了,B还是能够获取到cas返回的用户登陆信息.下面是获取用户信息和退出的代码参考技术A换个浏览器,一个浏览器不能同时保存同一个系统的两个个会话 查看详情

单点登陆

1.简介SSO:英文全称SingleSignOn,单点登陆。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。一般SSO体系中主要角色有三种:User(多个)、Web应用(多个)、SSO认证中心(一个)。2. 较流行的实现手... 查看详情

sso单点登陆

SSO在我们的应用中非常常见,例如我们在OA系统登录了,我们就可以直接进入采购系统,不需要再登录了,这样使我们非常方便。现在网上也有很多实现方法,于是乎我也想写一个看看。我主要用到的是cookie的机制。在此,分享... 查看详情

asp.net单点登录(sso)|禁止重复登陆|登录强制下线

背景:先上个图,看一下效果:SSO英文全称SingleSignOn(单点登录)。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机... 查看详情

java单点登录系统cas的简单使用

...,而不修改各个系统原来的登陆验证机制。于是采用单点登录系统CAS。使用步骤要使用单点登录,需要部署CAS系统,CAS服务端可以直接部署在tomcat下运行&#x 查看详情

单点登录

传统登陆的方式:1.登陆时,进行验证,验证完毕后将用户信息存储到session/***用户登录*@paramuser*@return*HttpSession因为在Survey_2_Component中使用,*所以在Survey_2_Component工程中加入JSP-API的依赖后才能使用*/@RequestMapping(value="/guest/user/logi... 查看详情

单点登录(sso)初识

单点登录英文全称SingleSignOn,简称就是SSO。它的解释是:在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统。普通的登录认证机制cookiesession同域下(顶级域名相同,子域不同)的单点登陆(Cookie是不能... 查看详情

单点登录实现(代码片段)

一、单点登录介绍  单点登录的英文简称为SSO(singlesignon),单点登录功能使得用户只要登录了其中一个系统,就可以访问其他相关系统,而不用进行身份验证登录。即用户只要登陆系统一次,该用户的身份信息就可以被系统... 查看详情