首页 > 编程知识 正文

系统拒绝单点登录跳转,sso单点登录系统

时间:2023-05-05 22:12:41 阅读:47273 作者:2456

单点登录(Single Sign On )简称SSO,是目前流行的企业业务整合解决方案之一。 SSO的定义是,在多个APP应用程序系统中,用户在一次登录中可以访问所有相互信任的APP应用程序系统。 当前系统中有许多子系统,这些子系统部署在单独的服务器上,传统的session无法解决,需要使用相关的单点登录技术进行解决。

CAS是一个单点登录框架,由耶鲁大学的组织开发,现在返回apereo进行管理。 CAS也是开源的,符合apache 2.0协议,代码当前由github管理。 单点登录: Single Sign On,简称SSO、SSO,允许用户在多个APP应用程序系统中通过一次登录访问所有相互信任的APP应用程序系统。 CAS是由Yale大学发起的开源项目,旨在为web APP应用系统提供可靠的单点登录方法,CAS于2004年12月正式成为JA-SIG的项目。

CAS提供了开源企业级的单点登录解决方案。 CAS Server是需要独立部署的web APP应用程序。 cas客户端支持非常多的客户端,包括Java、 Net、PHP、Perl、Apache、uPortal和Ruby (其中是单点登录系统中的单个web APP应用程序)

CAS原理和协议:从结构上讲,CAS由CAS服务器和CAS客户端两部分组成。 CAS Server需要独立部署,主要负责用户的认证。 cas客户端处理客户端访问受保护资源的请求,并在需要登录时重定向至cas服务器。 图1是CAS最基本的协议过程。

CAS协议

cas客户端与受保护的客户端APP应用程序一起部署,以通过过滤器保护受保护的资源。 对于访问受保护资源的每个Web请求,cas客户端都会分析请求的Http请求是否包含Service Ticket,如果未包含,则表示当前用户未登录。 将请求重定向到指定的CAS Server登录地址,并传递Service (即目标资源地址),以便登录成功后返回该地址。 用户在步骤3中输入凭据并登录成功后,CAS Server会随机生成相当长、唯一、不可伪造的服务工具包,并将其缓存以供将来验证。 然后,系统会自动重定向到服务所在的地址,并在客户端浏览器中设置Ticketgrantedcookie(TGC )。 cas客户端在获得服务和新生成的Ticket后,在步骤5、6中与cas服务器进行身份匹配,确保服务Ticket的正当性。

在该协议中,与CAS的交互均采用SSL协议,确保ST和TGC的安全性。 虽然在协议工作期间有两次重定向过程,但在cas客户端和cas服务器之间进行Ticket身份验证的过程对用户是透明的。

此外,CAS协议还提供了代理模式,以支持更高级、更复杂的APP应用程序场景。 具体介绍请参考CAS官网上的相关文档。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。