`
limuquan
  • 浏览: 101643 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

SSO单点登录学习之原理篇

    博客分类:
  • cas
 
阅读更多

什么是CAS?

    CAS ,中央认证服务(Central Authentication Service) 是耶鲁(Yale)大学的 ITS 开发的一套 JAVA 实现的开源的单点登录(SSO,single sign-on) 的服务。

关键字?


    AS——Authentication Service,即认证服务。
    TGT——Ticket Granting Ticket,即票据授权票据。
    ST——Service Ticket,即服务票据。
    TGS——Ticket Granting Service,即票据授权服务。
    TGC——Ticket-granting Cookie,即授权的票据证明。
    KDC——Key Distribution Center,即密钥发放中心。

CAS包括两个组成部分?

    CAS-Client,中央认证服务Client端。
    CAS-Server,中央认证服务Server端。
Client端寄存于Web应用之中,以Java举例来讲,通过配置web.xml文件,实现对用户的登录拦截,并将用户的请求重定向到Server端,由Server去进行身份验证;而Server端独立存在于一个服务器中,负责接收Client端发送过来的请求,完成用户的身份认证,生成TGT,并重定向到Client端的Web服务上。

CAS认证过程?

    CAS 单点服务器的认证过程,所有应用服务器收到应用请求后,检查 ST 和 TGT ,如果没有或不对,转到 CAS 认证服务器登陆页面,通过安全认证后得到 ST 和 TGT 再重定向到相关应用服务器,在会话生命周期之内如果再定向到别的应用,将出示 ST 和 TGT 进行认证 , 注意 , 取得 TGT 的过程是通过 SSL 安全协议的(换句话说就是如果不用 SSL 协议 , 每访问一个应用服务,就得重新到认证服务中心认证一次)。

CAS认证过程举例?

    现在,你要去游乐场玩,首先你要在门口检查你的身份(即检查你的ID 和 PASS), 如果你通过验证 , 游乐场的门卫 (AS) 即提供给你一张门卡 (TGT)。这张卡片的用处就是告诉游乐场的各个场所,你是通过正门进来的。

    现在你有张卡,但是这对你来不重要,因为你来游乐场不是为了拿这张卡的,我们向你的目的出发,恩,你来到一个摩天楼 , 你想进入玩玩。

    这时摩天轮的服务员(client)拦下你 , 向你要求摩天轮的(ST)票据 , 你说你只有一个门卡(TGT),好的,那你只要把 TGT 放在一旁的票据授权机(TGS)上刷一下。

    票据授权机(TGS)就根据你现在所在的摩天轮,给你一张摩天轮的票据(ST),哈,你有摩天轮的票据,现在你可以畅通无阻的进入摩天轮里游玩了。

    当然如果你玩完摩天轮后,想去游乐园的咖啡厅休息下,那你一样只要带着那张门卡(TGT)。到相应的咖啡厅的票据授权机(TGS)刷一下,得到咖啡厅的票据(ST)就可以进入咖啡厅。

    当你离开游乐场后,想用这张 TGT 去刷打的回家的费用,呵呵,对不起,你的 TGT 已经过期了,在你离开游乐场那刻开始,你的 TGT 就已经销毁了。

CAS工作原理机制图



 
  • 大小: 43.2 KB
分享到:
评论

相关推荐

    自己动手写SSO(单点登录)

    SSO(Single Sign-On)单点登录是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次进行身份验证。这极大地提高了用户体验,减少了密码管理的复杂性,并增强了安全性。本篇文章将带你...

    Spring Cloud 集成OAuth2实现身份认证和单点登录

    本篇将深入探讨如何利用Spring Cloud集成OAuth2来实现身份认证和单点登录(Single Sign-On,简称SSO)。 OAuth2是一种授权框架,它允许第三方应用获取资源所有者的特定资源,同时保护了资源所有者的隐私信息。在...

    入门级单点登录源码

    单点登录(Single Sign-On,简称SSO)是一种网络应用中的身份验证机制,它允许用户在一次登录后,就可以访问多个相互信任的应用系统,而无需再次进行身份验证。CAS(Central Authentication Service)是 Yale 大学...

    JAVA SSO demo

    单点登录(Single Sign-On,简称SSO)是一种网络认证机制,允许用户在一次登录后访问多个相互信任的应用系统,无需再次输入凭证。在Java环境下实现SSO,我们可以利用开源框架如CAS、OAuth、OpenID Connect等。本篇...

    .net版本单点登录与权限管理(web api)源码实例

    首先,单点登录(SSO)的核心原理是基于票据(Ticket)的验证机制。当用户成功登录后,服务器会生成一个唯一的认证票据,并将其发送给客户端。客户端在访问其他受保护的应用时,会携带这个票据,通过中央认证服务...

    CAS单点登录学习笔记五之CAS服务器数据源

    这篇名为"CAS单点登录学习笔记五之CAS服务器数据源"的博客文章,很可能是作者对CAS服务器配置数据源部分的深入解析。数据源是应用程序连接和操作数据库的关键组件,对于CAS服务器来说,它用于存储和管理用户的认证...

    单点登陆02(现实篇)

    在这个“单点登陆02(现实篇)”的主题中,我们将深入探讨SSO的实际应用和实现方式,尤其是通过源码分析来理解其工作原理。 在互联网应用日益普及的今天,用户往往需要在多个平台间切换,如企业内部的各种办公系统、...

    详解可跨域的单点登录(SSO)实现方案【附.net代码】

    在当今信息化快速发展的时代,企业或组织往往需要管理多个不同的网络服务和应用系统。...通过学习本文内容,可以了解到单点登录的工作原理,掌握实现SSO的关键技术点,以及如何解决实际开发过程中可能遇到的跨域问题。

    SSO实例码源

    SSO(Single Sign-On)是单点登录的缩写,是一种网络身份验证机制,它允许用户在一次登录后访问多个应用程序或服务,而无需再次输入凭证。SSO 实现的关键在于中央认证服务(CAS),它负责验证用户的身份,并向其他...

    SSO CAS 整理 - 页面备份

    SSO (Single Sign-On) 是一种身份验证机制,允许用户在一个系统中登录后,无需再次认证即可访问其他多个相互信任的系统...通过学习和实践,开发者能够熟练掌握CAS的使用,从而为组织提供安全、高效的单点登录解决方案。

    spring security oauth2 单点登录

    这篇博客(链接:https://chun521521.iteye.com/blog/2268953)可能详细介绍了如何集成Spring Security OAuth2实现单点登录。虽然具体的描述为空,但我们可以根据标题推测,博主可能讲解了以下内容: 1. **OAuth2...

    Laravel开发-discourse-sso

    "Discourse SSO"则是Laravel与Discourse论坛系统集成的一种单点登录(Single Sign-On, SSO)解决方案。这篇内容将深入探讨如何在Laravel项目中实现与Discourse的SSO整合。 首先,我们需要理解什么是SSO。SSO允许...

    OAM与spring的form方式SSO

    标题中的“OAM与spring的form方式SSO”指的是在Spring框架中实现基于表单(Form-based)的身份验证单点登录(Single Sign-On, SSO)功能,而OAM(Oracle Access Manager)是一种常见的身份认证和访问管理工具。这篇...

    关于CAS开源单点登录的点点滴滴

    **标题:“关于CAS开源单点登录的点点滴滴”** CAS(Central Authentication Service)是一...通过学习这些知识点,开发者能够深入理解CAS的工作原理,熟练配置和使用CAS,为自己的应用提供安全、便捷的单点登录功能。

    自定义客户端登录CAS服务器-iframe实现

    标题中的“自定义客户端登录CAS服务器-iframe实现”是指在客户端应用中集成中央认证...总之,这个主题涉及到了Web应用安全、身份验证、单点登录协议和前端开发技术,对于理解CAS工作原理和实现SSO有很重要的学习价值。

    工作日志_李响115_202109031

    【工作日志_李响115_202109031】这篇日志主要记录了学习者李响在2021年9月3日这天的学习内容,集中在单点登录系统(Single Sign-On, SSO)的实现以及拦截器配置和获取token登录方法的理解。以下是对这些知识点的详细...

    spring security3 开发手册

    #### 单点登录(SSO) 单点登录是企业级应用中非常重要的功能。Spring Security支持单点登录,并且可以通过配置JA-SIG来实现。用户可以配置Spring Security以运行配置了CAS的子系统,并为CAS配置SSL以确保通信的安全...

    CAS学习

    CAS的主要目标是提供一个简单的方法来实现单点登录(Single Sign-On, SSO)服务,使得用户只需要一次登录就可以访问多个应用系统。 在描述中提到的"博文链接:https://xiayingjie.iteye.com/blog/709747",虽然具体...

    cas 进阶篇一

    4. **单点登出**:理解如何实现用户在一次登出后,同时退出所有已认证的应用。 5. **自定义认证**:通过源码解析,学习如何编写自己的认证模块以支持不同的凭证类型,如LDAP、数据库或其他外部系统。 6. **票证...

    java后端工程师简历

    在木及公司,他还负责了内部SSO单点登录系统的后端架构与开发,提升了用户体验并简化了登录流程。 综上所述,小木作为一名Java后端工程师,不仅拥有扎实的技术基础,丰富的项目经验,还具备良好的学习能力和团队...

Global site tag (gtag.js) - Google Analytics