`

登录对比:cas(单点登录);oauth2(授权);单一登录的区别

阅读更多

转载请注明出处:https://375287760.iteye.com/blog/2400976

浏览器访问是无状态的,判断是否登陆需服务器自定义实现,可保存在session中,或者保存在缓存中
每个浏览器会话都有一个唯一的sessionid,用于区别不同的会话

  1. cas(单点登录)
    现象:多个系统只需登录一次,无需重复登录
    原理:授权服务器,被授权客户端
    1、授权服务器(一个)保存了全局的一份session,客户端(多个)各自保存自己的session
    2、客户端登录时判断自己的session是否已登录,若未登录,则(告诉浏览器)重定向到授权服务器(参数带上自己的地址,用于回调)
    3、授权服务器判断全局的session是否已登录,若未登录则定向到登录页面,提示用户登录,登录成功后,授权服务器重定向到客户端(参数带上ticket【一个凭证号】)
    4、客户端收到ticket后,请求服务器获取用户信息
    5、服务器同意客户端授权后,服务端保存用户信息至全局session,客户端将用户保存至本地session
  2. oauth2(登录授权)
    现象:第三方系统访问主系统资源,用户无需将在主系统的账号告知第三方,只需通过主系统的授权,第三方就可使用主系统的资源(如:APP1需使用微信支付,微信支付会提示用户是否授权,用户授权后,APP1就可使用微信支付功能了)
    原理:主系统,授权系统(给主系统授权用的,也可以跟主系统是同一个系统),第三方系统
    1、第三方系统需要使用主系统的资源,第三方重定向到授权系统
    2、根据不同的授权方式,授权系统提示用户授权
    3、用户授权后,授权系统返回一个授权凭证(accessToken)给第三方系统【accessToken是有有效期的】
    4、第三方使用accessToken访问主系统资源【accessToken失效后,第三方需重新请求授权系统,以获取新的accessToken】
  3. 单一登录
    现象:同一系统,同一用户在同一时间内只能有一个会话(即一个用户只有一个在使用的浏览器)
    原理:
    1、把登录成功的用户放入session和缓存,缓存中格式:key:userID,value:sessionId
    2、用户访问资源时,用拦截器(或过滤器)拦截用户请求,先判断用户是否已登录(根据session判断),若用户未登录,则定向到登录页面提示用户登录
    3、若用户session已登录,根据用户userID取出缓存数据,判断当前浏览器的sessionId与缓存的是否一致,若一致,则继续访问
    4、若sessionId不一致,则将当期的session数据清空,用户登出,提示用户被踢出
  4. 这只是个人总结,有错误请指出
分享到:
评论
1 楼 lansezhixing123 2018-05-21  
总结的很好

相关推荐

    cas单点登录 server端,运行成功

    CAS(Central Authentication Service)是基于Java的开源身份验证框架,用于实现单一登录(Single Sign-On,简称SSO)。在IT领域,单点登录系统能够使用户在访问多个应用时只需登录一次,提高了用户体验并简化了身份...

    cas 单点登录 耶鲁大学单点登录

    CAS单点登录的基本原理是通过一个中心认证服务器来进行用户的统一认证和管理。当用户首次访问某个受保护的应用时,该应用会重定向用户到CAS服务器进行认证;一旦用户通过CAS服务器认证,CAS会向用户提供一个Ticket...

    CAS4.0单点登录

    在本文中,我们将深入探讨CAS4.0单点登录系统的工作原理、配置和实际应用。 一、CAS4.0单点登录系统工作原理 1. 用户访问受保护资源:当用户尝试访问需要身份验证的Web应用时,会被重定向到CAS服务器。 2. 登录...

    cas单点登录

    总之,CAS单点登录提供了一种强大而灵活的方式来管理用户认证,简化了用户访问多应用系统的流程,同时也提升了安全性。正确配置和使用CAS客户端,如`cas-client-core`,能够无缝地将你的应用整合进CAS体系中,实现...

    CAS单点登录服务器端源码

    总的来说,CAS单点登录服务器端源码是理解和定制CAS服务的宝贵资源,对于想要提升企业级应用安全性的开发者而言,这是一份非常有价值的参考资料。通过学习和实践,你可以掌握如何构建和维护自己的CAS服务器,从而...

    springboot+security+cas集成demo

    CAS(Central Authentication Service)是耶鲁大学开发的一个开源的身份验证系统,主要用于实现单一登录(Single Sign-On,SSO)。它允许用户通过一次登录,就能访问多个相互信任的应用系统,而无需多次输入用户名和...

    cas-4.1.7最新

    1. 单点登录:用户只需一次登录,就能访问所有支持CAS的服务,减少了用户的记忆负担和登录步骤。 2. 服务验证:CAS服务器负责验证用户的身份,并向服务提供者提供认证票据,确保只有经过验证的用户才能访问服务。 3....

    SSO单点登录

    ### SSO单点登录原理及CAS Server配置详解 #### 一、SSO简介 SSO(Single Sign-On,单点登录)是身份管理领域的重要组成部分,它允许用户在一个应用程序中进行一次身份验证后,无需再次登录即可访问同一组织内其他...

    单点登录系统(SSO)+权限管理

    单点登录系统(Single Sign-On,SSO)是一种网络身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次输入凭证。在SSO系统中,用户只需要记住一套登录凭据,提高了用户体验,同时减少了密码...

    单点登录系统

    单点登录系统(Single Sign-On, SSO)是一种身份验证机制,允许用户在一次登录后,可以访问多个相互关联的应用系统而无需再次进行身份验证。SSO的核心目标是提高用户体验,减少频繁输入用户名和密码的繁琐,同时也有...

    基于Spring Cloud、OAuth2.0、Vue的前后端分离的系统

    单点登录(Single Sign-On, SSO)让用户在多个系统间只需一次登录即可。系统可能集成了CAS、OAuth2.0或JWT等技术来实现多系统间的SSO,提升用户体验。 10. **Vue.js**: Vue.js 是一个轻量级的前端JavaScript框架...

    cas源码.....

    【描述】:CAS(Central Authentication Service)是 Yale 大学发起的一个开源项目,主要用于实现单点登录(Single Sign-On, SSO)。它是一个基于 Web 的身份验证系统,允许用户通过单一的登录过程访问多个应用系统...

    cas-5.3模板

    CAS(Central Authentication Service)是一种广泛使用的开放源代码的单一登录(Single Sign-On...通过深入研究这些文件,我们可以了解和定制CAS服务器的行为,实现与Shiro的无缝集成,构建高效且安全的单点登录系统。

    cas4认证服务

    3. **单点登出**:除了单点登录,CAS还实现了单点登出功能,即用户在一个应用中登出时,将自动从所有已登录的应用中登出。 4. **可扩展性**:CAS的插件架构允许开发人员添加自定义认证模块,以适应特定的身份验证...

    Cas5.2.6(cas-overlay-template-5.2.6)服务端

    集成完成后,可以通过CAS客户端(如浏览器插件或应用配置)进行测试,确保单点登录功能正常工作。同时,CAS提供了丰富的日志记录和调试选项,有助于定位问题。 总之,CAS 5.2.6服务端的集成和搭建涉及到了安全、...

    cas服务端-连接数据库版

    9. **单点登出(Single Sign-Out, SSO)**:除了单点登录,CAS还支持单点登出功能,即用户在一个应用中登出时,所有其他已登录的受CAS保护的应用也会同步登出。 10. **扩展与定制**:CAS服务端允许自定义认证策略,...

    C#单点登录示例程序SSO

    单点登录(Single Sign-On,简称SSO)是一种网络用户身份验证的机制,允许用户在一次登录后,就可以访问多个相互关联的应用系统,而无需再次进行身份验证。在这个C#实现的SSO示例程序中,我们将探讨如何构建这样一个...

    CAS5.3.5 server代码

    7. **测试SSO**:使用多个应用测试单点登录功能,确保用户在一次登录后可以在所有支持CAS的应用中自由切换,而无需重新认证。 在实际操作中,你可能还需要了解CAS的XML服务注册、Ticket Granting Tickets(TGTs)、...

    CAS restful接口调用

    CAS(Central Authentication Service)是一种开源的单点登录协议和服务实现。它旨在减轻单一Web应用的登录流程,并为多个服务提供一个集中式的认证机制。CAS支持多种认证协议,包括但不限于HTTP Basic、...

    cas-server-3.4.3.1-release.zip

    CAS(Central Authentication Service)是一种广泛使用的开源单点登录(Single Sign-On, SSO)框架,它允许用户通过单一的登录验证访问多个应用系统,无需在每个系统上单独登录。这个版本可能是针对Liferay 6.0.5...

Global site tag (gtag.js) - Google Analytics