tgc

CAS实现单点登录

不问归期 提交于 2020-01-17 07:34:22
1.简介 SSO单点登录 在多个相互信任的系统中,用户只需要登录一次就可以访问其他受信任的系统。 新浪微博与新浪博客是相互信任的应用系统。 * 当用户首次访问新浪微博时,新浪微博识别到用户未登录,将请求重定向到认证中心,认证中心也识别到用户未登录,则将请求重定向到登录页。 * 当用户已登录新浪微博访问新浪博客时,新浪博客识别到用户未登录,将请求重定向到认证中心,认证中心识别到用户已登录,返回用户的身份,此时用户无需登录即可使用新浪博客。 * 只要多个系统使用同一套单点登录框架那么它们将是相互信任的。 CAS Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法, CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。 CAS 包含 CAS Client 和 CAS Server 两部分 CAS Client :要使用单点登录的Web应用,将与同组下的Web应用构成相互信任的关系,只需在web应用中添加CAS提供的 Listener 和 Filter 即可成为CAS Client ,其主要负责对客户端的请求进行登录校验、重定向和校验ticket工作。 CAS Server :主要负责对用户的用户名/密码进行认证,颁发票据等,需要单独的进行部署。 * 同组下的任意一个Web应用登录后其他应用都不需要登录即可使用。 2.CAS服务器搭建 2

单点登录(一)-----理论-----单点登录SSO的介绍和CAS+选型

百般思念 提交于 2019-12-07 05:00:29
什么是单点登录(SSO) 单点登录主要用于多系统集成,即在多个系统中,用户只需要到一个中央服务器登录一次即可访问这些系统中的任何一个,无须多次登录。 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 web系统如何实现单点登录 目前已经有了成熟的单点登录实现方案,比如CAS,我们只要在web系统中应用单点登录方案CAS即可。(主要涉及到注册登录验证等模块的改动) 什么是CAS CAS (Central Authentication Service) 是耶鲁 Yale 大学发起的一个java开源项目,旨在为 Web应用系统提供一种可靠的 单点登录 解决方案( Web SSO ), CAS 具有以下特点: 1、 开源的企业级单点登录解决方案; 2、 CAS Server 为需要独立部署的 Web 应用----一个独立的Web应用程序(cas.war)。 ; 3、 CAS Client 支持非常多的客户端 ( 指单点登录系统中的各个 Web 应用 ) ,包括 Java, .Net, PHP, Perl, 等。 CAS在2004年12月成为Jasig项目,所以也叫JA-SIG CAS。 官网1: https://apereo.github.io/cas

CAS实现的基本原理

白昼怎懂夜的黑 提交于 2019-12-04 20:55:42
CAS实现SSO单点登录原理 1. CAS 简介 1.1. What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的、开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(属于 Web SSO )。 CAS 开始于 2001 年, 并在 2004 年 12 月正式成为 JA-SIG 的一个项目。 1.2. 主要特性 1、 开源的、多协议的 SSO 解决方案; Protocols : Custom Protocol 、 CAS 、 OAuth 、 OpenID 、 RESTful API 、 SAML1.1 、 SAML2.0 等。 2、 支持多种认证机制: Active Directory 、 JAAS 、 JDBC 、 LDAP 、 X.509 Certificates 等; 3、 安全策略:使用票据( Ticket )来实现支持的认证协议; 4、 支持授权:可以决定哪些服务可以请求和验证服务票据( Service Ticket ); 5、 提供高可用性:通过把认证过的状态数据存储在 TicketRegistry 组件中,这些组件有很多支持分布式环境的实现,如: BerkleyDB 、 Default 、 EhcacheTicketRegistry 、

CAS实现单点登录

匿名 (未验证) 提交于 2019-12-02 21:53:52
1.简介 SSO (Single Sign On)单点登录 :在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. 新浪微博与新浪博客是相互信任的应用系统. * 当用户首次访问新浪微博时,认证中心识别到用户未登录,将请求重定向到登录页. * 当用户已登录再访问新浪博客时,认证中心识别到用户已登录,返回用户的身份,此时用户无需登录即可使用新浪博客. CAS CAS包含CAS Client 和 CAS Server. CAS Client:要使用单点登录的Web应用, 将与同组下的Web应用构成相互信任的关系,只需在web应用中添加CAS提供的Listener和Filter即可成为CAS Client ,其主要负责对客户端的请求进行重定向和校验ticket工作. CAS Server:主要负责对用户的用户名/密码进行认证, 颁发票据等, 需要单独的进行部署. * 同组下的任意一个Web应用登录后其他应用都不需要登录即可使用. 2.CAS服务器搭建 2.1 ȥ CAS官网下载 CAS源码包 将下载的源码包中的cas-server-webapp工程导入ide中,将工程导出为war包,直接放入tomcat下的webapp中运行. * CAS 5.0版本以上需要jdk1.8和gradle进行构建、4.X版本使用maven进行构建(maven 3.3+) 2.2

CAS单点登录的原理

匿名 (未验证) 提交于 2019-12-02 21:53:32
1.首先了解几个概念   1)、TGC:Ticket-granting cookie,存放用户身份认证凭证的cookie,在浏览器和 CAS 2)、TGT:ticket granting ticket,TGT对象的ID就是TGC的值,在服务器端,通过TGC查询TGT。TGT封装了TGC值以及此Cookie值对应的用户信息。 3)、ST:service ticket,CAS为用户签发的访问某一service的票据,ST是TGT签发的。 2.单点登录的流程 现在有系统A、系统B、认证中心。 用户首次访问系统A的时候: 1)用户通过浏览器访问系统A https://localhost:8443/spring-shiro-cas/index,系统A取不到局部session,这时候系统A需要做一个额外的操作,就是重定向到认证中心 2)请求 https://localhost:8443/cas-server/login? service = https://localhost:8443/spring-shiro-cas/cas ,认证中心看浏览器有没有携带TGC,一看没有,返回cas login form让用户登录。 service url(在cas客户端也就是系统A配置) ,将来通过服务端认证后,还要重定向到系统A。/cas是拦截器的地址,接收cas服务端票据