Mvc4单点登录之一Cas简单介绍

背景

前几天写过一篇博客Net单点登录详解
(SSO)
,但是在这篇博客中是在asp.net 下做的实验,没有什么问题,但是转换到mvc中之后,问题就接二连三的出,后来没有办法,想想还是用人家已经写好的吧,别用那些自己写的东西了,一是不稳定,二是有很多的缺陷!然后就开始寻找!最后决定用cas来做!

SSO介绍

SSO英文全称SingleSign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

CAS = CentralAuthentication Service,中央认证服务。CAS(Central Authentication Service)是一款不错的针对 Web 应用的单点登录框架。

SSO的解决方案很多,比如收费的有UTrust、惠普灵动等,开源的有CAS、Smart SSO等,其中应用最为广泛的是CAS。

工作原理

CAS从结构上看包括两部分,CAS Server为需要独立部署的 Web 应用,CAS Client 为非常多的客户端提供支持,这个客户端指单点登录系统中的各个 Web 应用,包括 Java, .Net, PHP, Perl, Apache, uPortal, Ruby 等。

CAS 原理和协议

CAS Server 需要独立部署,主要负责对用户的认证工作;

CAS Client 负责处理对客户端受保护资源的访问请求,需要登录时,重定向到 CAS Server。图是 CAS 最基本的协议过程:

CAS Client 与受保护的客户端应用部署在一起,以Filter 方式保护受保护的资源。对于访问受保护资源的每个 Web 请求,CAS Client 会分析该请求的 Http 请求中是否包含 Service Ticket(服务票据,由 CAS Server发出用于标识目标服务)

如果没有,则说明当前用户尚未登录,于是将请求重定向到指定好的 CAS Server 登录地址,并传递 Service (也就是要访问的目的资源地址),以便登录成功过后转回该地址。如果有,则说明当前用户已经登录,直接访问目的资源地址。

用户输入认证信息,如果登录成功,CAS Server 随机产生一个相当长度、唯一、不可伪造的 Service Ticket,并缓存以待将来验证,之后系统自动重定向到 Service 所在地址,并为客户端浏览器设置一个 Ticket Granted Cookie(CAS会话标识)

CAS Client 在拿到 Service 和新产生的 Ticket 过后,在第 5,6 步中与 CASServer 进行身份合适,以确保 Service Ticket 的合法性。

在该协议中,所有与 CAS 的交互均采用 SSL 协议,确保,ST 和 TGC 的安全性。协议工作过程中会有 2 次重定向的过程,但是 CAS Client 与 CAS Server 之间进行 Ticket 验证的过程对于用户是透明的。

另外,CAS 协议中还提供了 Proxy (代理)模式,以适应更加高级、复杂的应用场景,具体介绍可以参考 CAS 官方网站上的相关文档。

时间: 2024-07-30 20:18:49

Mvc4单点登录之一Cas简单介绍的相关文章

单点登录之CAS简单介绍

cas官网http://www.ja-sig.org/products/cas/. ok,现在开始本文的重点内容讲解,先来了解一下cas 实现single sign out的原理,如图所示: 图一 图二 第一张图演示了单点登陆的工作原理. 第二张图演示了单点登出的工作原理. 从第一张图中,当一个web浏览器登录到应用服务器时,应用服务器(application)会检测用户的session,如果没有session,则应用服务器会把url跳转到CASserver上,要求用户登录,用户登录成功后,CA

Mvc4单点登录之三Cas 客户端配置

上一篇博客讲解了cas服务端的配置,这篇博客为大家讲一下cas 客户端的配置! 第一步建项目 自己新建一个mvc的项目.如图所示! 第二步添引用 将上一篇博客开头中让下载的文件,下载下来后,将dotnet-client-1.0.2-bin 文件中的 DotNetCasClient.dll文件复制到bin文件夹下,并添加DotNetCasClient.dll的引用. 第三步添视图 在Controller中 新建一个controller命名为HomeController,然后为里边的index添加一

Mvc4单点登录之二 Cas server端配置

上一篇博客Mvc4单点登录之一Cas简单介绍简单的介绍了cas的工作原理!这篇文章介绍一下Cas Server端的配置. 首先要说明Cas server 是一个java程序,所以首先要确定你的电脑上安装了JDK, 并且安装了Tomcat 服务器,如果不会装的话,那么可以从网上查一下资料,一把一把的!例如,我将tomcat安装在了E:\apache-tomcat-7.0.52. cas的下载地址 cas 客户端:  http://download.csdn.net/detail/zhanghong

Mvc4单点登录之四 配置Cas服务端,返回更多的用户信息!

        .Net单点登录详解 (SSO)        Mvc4单点登录之一Cas简单介绍        Mvc4单点登录之二 Cas server端配置            Mvc4单点登录之三Cas 客户端配置            前几篇博客大致的介绍了,cas的使用,在这篇博客当中,将为大家介绍一下如何配置服务端,让用户登录之后,返回更多的用户信息! 一.首先需要配置属性attributeRepository 首先,你需要到WEB-INF目录找到 deployerConfigC

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

转:http://blog.csdn.net/yunye114105/article/details/7997041 背景 有几个相对独立的java的web应用系统, 各自有自己的登陆验证功能,用户在使用不同的系统的时候,需要登陆不同的系统.现在需要提供一个统一的登陆/登出界面, 而不修改各个系统原来的登陆验证机制.于是采用单点登录系统CAS. 使用步骤 要使用单点登录,需要部署CAS系统, CAS服务端可以直接部署在tomcat下运行, 对于CAS服务端来说,所有要集成单点登录的web应用都是

Jeesite单点登录集成cas另加自定义登录验证

Jeesite单点登录集成Cas另加自定义登录验证 JeeSite是基于多个优秀的开源项目,高度整合封装而成的高效,高性能,强安全性的 开源 Java EE快速开发平台. Cas主要是用来解决多应用之间统一登陆认证,无需用户在同一公司多应用之间重复登陆.例如阿里巴巴中淘宝.天猫,在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. Cas基础 服务端 服务端cas-server-webapp-4.0.0.war,服务器端程序一般不用我们完成,但需要做一点小小的修改,cas的服务

单点登录系统CAS入门

一.单点登录的概念 单点登录(Single Sign On),简称为SSO.SSO是定义在多个应用系统中,用户只需要登录一次就可以访问所有的相互信任的应用系统. 当我们创建工程的子系统部署在不同的服务中的时候,使用传统的session是无法解决问题的,这时候我们就需要使用相关的单点登录技术来解决. 1.CAS概述 CAS是Yale大学的一个开源项目,旨在为web应用系统提供一种可靠的单点登录方法.CAS具有以下特点: 开源的企业级单点登录解决方案 CAS Server为需要独立部署的Web应用

开源单点登录系统CAS入门

1.开源单点登录系统CAS入门 1.1 什么是单点登录 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. 我们目前的系统存在诸多子系统,而这些子系统是分别部署在不同的服务器中,那么使用传统方式的session是无法解决的,我们需要使用相关的单点登录技术来解决. 1.2 什么是CAS CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种

单点登录原理及简单实现

一.单系统登录机制 1.http无状态协议 web应用采用browser/server架构,http作为通信协议.http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系 但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的某些资源,必须限制浏览器请求:要限制浏览器请求,必须鉴别浏览器请求,响应合法请求,忽略非法请求:要鉴别浏览器请求,必须清楚浏览器请求状态.既然http协议无状态,那就让