CAS实现单点登录原理与实例解析

article/2025/9/4 0:28:08

    上几篇博客介绍了使用cookie实现同域和跨域系统的单点登录,本文将介绍通过CAS实现单点登录实例。

CAS耶鲁大学研发的单点登录服务器主要分为服务端和客户端两个系统模块;本文将通过官网提供的实例进行介绍。

一、CAS实现SSO的原理与认证流程

使用CAS实现SSO的原理实际跟生成cookie进行认证一样,不过CAS将这个认证cookie称之为Ticket。

认证流程如下:

1、浏览器发出用户请求到客户端程序(例如上文中的www.a.com,www.b.com属于两个客户端程序)。 

2、客户端验证客户端会在本地验证是否有该请求对应的Ticket信息,如果没有,表示该用户尚未登陆,重定向到CAS服务器,服务器负责生成一个用户Ticket,返回给客户端。

3、 客户端再将浏览器发来的用户请求与服务器返回的Ticket验证,有效则返回客户端指定页面。客户端将该Ticket保存,以备下一个用户请求进行验证。

CAS客户端的Ticket实际就是CAS服务端返回的凭证cookie。

 二、CAS实现单点登录

1、建立三个域名指向本地IP

    两个客户端:127.0.0.1  www.a.com 、127.0.0.1  www.b.com

     一个服务端:127.0.0.1  www.server.com

2、下载CAS相关jar包

   CAS-server3.xx.zip    CAS-client.zip

3、CAS服务端配置

    解压CAS-server.zip,并从中找到服务器端war文件,发布到应用服务器tomcat中,并配置tomcat server.xml文件添加<Host name=“www.server.com” appBase=server>;启动tomcat,输入 http://www.server.com ,CAS界面正常显示。

4、CAS客户端配置

    1)直接下载官网提供的实例,将webapp解压到tomcat/bbs/ROOT目录下和tomcat/news/ROOT目录作为两个客户端程序。

         【CAS客户端依赖于CAS-client-core和commons-logging两个jar,位于在client压缩包的module文件夹中】

    2)修改客户端web.xml中filter的地址,启动tomcat后,客户端即可正常运行。

三、CAS源码思路

通过配置我们不难发现,CAS的实现思路与上一篇博文实现SSO的思路基本一致:

  1. 服务端代码负责生成Ticket并用一个map结构维护这些Ticket。也就是SSO体系结构中的“认证中心”。同时也负责与数据库的交互。

  2. 客户端编写验证代码,主要负责认证和核对Ticket,也就是web.xml中两个核心拦截器用于拦截客户端请求。分别用于重定向和接收服务器发送的Ticket。

  3. CAS的服务器端程序由spring+Spring web flow写成。全部使用spring配置文件。

四、CAS同类产品

单点登录的具体实现有很多种选择,包括:

1、采用专门的SSO商业软件: 主要有:Netgrity的Siteminder,已经被CA收购。Novell 公司的iChain。RSA公司的ClearTrust等。

2、采用门户产品供应商自己的SSO产品,如:BEA的WLES,IBM 的Tivoli Access Manager,Sun 公司的identity Server,Oracle公司的OID等。

3、这些商业软件一般适用于客户对SSO的需求很高,并且企业内部采用COTS软件如:Domino,SAP,Sieble的系统比较多的情况下采用。并结合身份管理。统一认证等项目采用。采用这些软件一般都要对要集成的系统做些改造,如在要集成的系统上安装AGENT。现在一般只提供常见软件如:Domino,SAP,Sieble,常见应用服务器:weblogic,websphere等的AGENT。要先统一这些系统的认证。一般采用LDAP或数据库。然后才能实现SSO。比较麻烦。

4、开源类产品主要有:

JOSSO:http://www.josso.org/

OPENSSO: https://opensso.dev.java.net/

 

 


http://chatgpt.dhexx.cn/article/urYEhMLb.shtml

相关文章

简述CAS单点登录的实现原理

CAS&#xff08;Central Authentication Service&#xff09;单点登录系统是一种常见的身份验证和授权解决方案&#xff0c;它可以让用户在一个认证中心&#xff08;CAS服务器&#xff09;上登录&#xff0c;然后使用此登录信息访问多个应用程序而无需再次登录。 先了解几个名…

CAS单点登录原理解析及相关配置

1、基于Cookie的单点登录的回顾 基于Cookie的单点登录核心原理&#xff1a; 将用户名密码加密之后存于Cookie中&#xff0c;之后访问网站时在过滤器&#xff08;filter&#xff09;中校验用户权限&#xff0c;如果没有权限则从Cookie中取出用户名密码进行登录&#xff0c;让用…

CAS 单点登录的实现原理(一)

一&#xff0c;会话和Cookie HTTP是无状态协议&#xff0c;客户端与服务端之间的每次通信都是独立的&#xff0c;而会话机制可以让服务端鉴别每次通讯过程中的客户端是否是同一个&#xff0c;从而保证业务的关联性。 Session是服务器使用一种类似于散列表的结构&#xff0c;用…

CAS单点登录原理及实现

CAS单点登录原理及实现 标签&#xff08;空格分隔&#xff09;&#xff1a; 单点登录 CAS SSO ###目录 概念介绍搭建流程原理分析 ###概念介绍 CAS介绍 Central Authentication Service&#xff08;缩写CAS&#xff09;是一种针对万维网的单点登录协议。它的目的是允许一个用…

单点登录CAS实现

单点登录&#xff08;Single Sign-On&#xff0c;简称SSO&#xff09;是一种身份验证技术&#xff0c;它允许用户使用一组凭据&#xff08;如用户名和密码&#xff09;登录到多个应用程序或系统中&#xff0c;而无需在每个应用程序或系统中单独登录。这种技术可以提高用户体验&…

CAS单点登录原理及改造

CAS是由耶鲁大学开发的单点登录系统&#xff0c;其核心的知识点包括以下几个概念: 1) TGT: 票据&#xff0c;或称大令牌&#xff0c;在登录成功之后生成&#xff0c;其中包含了用户信息 2) TGC: TGT的key&#xff0c;TGT存储在session中&#xff0c;TGC以cookie形式保存在浏览器…

SSO单点登录原理详解(从入门到精通)

本文主要对SSO单点登录与CAS、OAuth2.0两种授权协议的关系和原理进行详细说明。 1. 基础概念 SSO单点登录&#xff08;Single sign-on&#xff09; 所谓单点登录就是在多个应用系统中&#xff0c;用户只需登录一次就可以访问所有相互信任的系统。 CAS 中央认证服务&#xf…

CAS单点登录的实现

这篇文章对CAS单点登录具体实现的一些步骤就行讲述&#xff0c;至于CAS单点登录的实现原理分析&#xff0c;请参看下面这篇文章&#xff1a;CAS单点登录原理分析(一) https://blog.csdn.net/qq_41258204/article/details/84036875 CAS 包含两个部分&#xff1a; CAS Server 和…

CAS单点登录原理解析

推荐阅读 1. SpringBoot 整合篇 2. 手写一套迷你版HTTP服务器 3. 记住&#xff1a;永远不要在MySQL中使用UTF-8 4. Springboot启动原理解析 1、基于Cookie的单点登录的回顾 基于Cookie的单点登录核心原理&#xff1a; 将用户名密码加密之后存于Cookie中&#xff0c;之后访…

CAS单点登录的实现(二)

这篇文章对CAS单点登录具体实现的一些步骤就行讲述&#xff0c;至于CAS单点登录的实现原理分析&#xff0c;请参看下面这篇文章&#xff1a; CAS单点登录原理分析(一) https://blog.csdn.net/qq_41258204/article/details/84036875 CAS 包含两个部分&#xff1a; CAS Server 和…

CAS单点登录系列之原理简单介绍

文章目录 一、 SSO简介1.1 单点登录定义1.2 单点登录角色1.3 单点登录分类 二、 CAS简介2.1 CAS简单定义2.2 CAS体系结构2.3 CAS原理 三、CAS服务端部署附录 一、 SSO简介 1.1 单点登录定义 单点登录(Single sign on)&#xff0c;英文名称缩写SSO&#xff0c;SSO的意思就是在…

CAS实现单点登录SSO执行原理探究(终于明白了)

一、不落俗套的开始 1、背景介绍 单点登录:Single Sign On,简称SSO,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 CAS框架:CAS(Central Authentication Service)是实现SSO单点登录的框架。 2、盗一张学习CAS绝大多都看过的图以及执…

CAS实现单点登录

1.简介 SSO单点登录 在多个相互信任的系统中&#xff0c;用户只需要登录一次就可以访问其他受信任的系统。 新浪微博与新浪博客是相互信任的应用系统。 *当用户首次访问新浪微博时&#xff0c;新浪微博识别到用户未登录&#xff0c;将请求重定向到认证中心&#xff0c;认证中心…

cas server + cas client 单点登录 原理介绍

CAS 介绍 CAS 是 Yale 大学发起的一个开源项目&#xff0c;旨在为 Web 应用系统提供一种可靠的单点登录方法&#xff0c;CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。CAS 具有以下特点&#xff1a; 开源的企业级单点登录解决方案。 CAS Server 为需要独立部署的 Web 应用…

CAS单点登录原理(包含详细流程,讲得很透彻,耐心看下去一定能看明白!)

转载地址 http://www.cnblogs.com/lihuidu/p/6495247.html 1、基于Cookie的单点登录的回顾 基于Cookie的单点登录核心原理&#xff1a; 将用户名密码加密之后存于Cookie中&#xff0c;之后访问网站时在过滤器&#xff08;filter&#xff09;中校验用户权限&#xff0c;如果没有…

CAS方式实现单点登录

单点登录&#xff0c;英文是 Single Sign On&#xff0c;缩写为 SSO。 多个站点(192.168.1.20X)共用一台认证授权服务器(192.168.1.110&#xff0c;用户数据库和认证授权模块共用)。用户经由其中任何一个站点(比如 192.168.1.201)登录后&#xff0c;可以免登录访问其他所有站点…

单点登录之CAS原理和实现

1.开源单点登录系统CAS入门 1.1 什么是单点登录 单点登录&#xff08;Single Sign On&#xff09;&#xff0c;简称为 SSO&#xff0c;是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中&#xff0c;用户只需要登录一次就可以访问所有相互信任的应用…

CAS单点登录原理分析(一)

一&#xff0c;业务分析 在分布式系统架构中&#xff0c;假设把上述的三个子系统部署在三个不同的服务器上。前提是用户登录之后才能访问这些子系统。那么使用传统方式&#xff0c;可能会存在这样的问题&#xff1a; 1.当访问用户中心&#xff0c;需要用户登录帐号 2.当访问购物…

cas单点登录原理与实现(整合springsecurity)

一、cas原理分析 SSO英文全称Single Sign On&#xff0c;单点登录。SSO是在多个应用系统中&#xff0c;用户只需要登录一次就可以访问所有相互信任的应用系统。CAS是一种基于http协议的B/S应用系统单点登录实现方案&#xff0c;认识CAS之前首先要熟悉http协议、Session与Cookie…

CAS 实现单点登录(SSO)原理

原地址&#xff1a;https://blog.csdn.net/hejingyuan6/article/details/44277023 一、概念&#xff1a;     单点登录&#xff08;Single Sign On&#xff09;&#xff1a;简称为SSO&#xff0c;是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中…