CAS集群
2016-12-05 09:50:55 0 举报
CAS集群是一种基于Java的开源单点登录解决方案,它提供了一种简单、安全、可靠的身份认证和授权机制。CAS集群由多个独立的CAS服务器组成,它们之间通过分布式缓存和数据库同步数据,以实现高可用性和负载均衡。用户在访问应用系统时,只需要登录一次CAS服务器,就可以访问其他所有集成了CAS的应用系统,无需再次输入用户名和密码。此外,CAS还支持多种第三方认证源,如LDAP、OAuth2.0等,可以满足不同场景下的身份认证需求。总之,CAS集群为企业内部和跨组织的身份管理提供了一个高效、便捷、安全的解决方案。
作者其他创作
大纲/内容
访问shiro应用
Shiro应用
Nginx02
cas-server04
Redis集群
触发shiro的认证授权过程
SecurityManager首先被实例化
Realm
实例化Realm,并将其加载至SecurityManager中作为security data
Redis03
cas-client04
认证/授权?
CAS Clients(Shiro、Spring等)
Redis02
CAS概述(对用户认证实现中心化管理):1、单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。单点登录在大型网站里使用得非常频繁,例如像阿里巴巴这样的网站,在网站的背后是成百上千的子系统,用户一次操作或交易可能涉及到几十个子系统的协作,如果每个子系统都需要用户认证,不仅用户会疯掉,各子系统也会为这种重复认证授权的逻辑搞疯掉;2、开源的、多协议的 SSO 解决方案; Protocols : Custom Protocol 、 CAS 、 OAuth 、 OpenID 、 RESTful API 、 SAML1.1 、 SAML2.0 等;3、CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的、开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(属于 Web SSO )。
1、集群:防止单点故障,增强系统的高可用性;2、关于负载均衡的方案目前也有很多种其他的方案,比如Zuul等。
cas-client03
N
cas-server01
CAS Servers(Spring等)
注:Session的共享方案可以采用Redis实现数据缓存;也可以使用Memcached的数据缓存方案。
cas-client02
Redis01
结束
Session和Ticket共享
Subject
1、CAS Server集群同样需要考虑将Session实现共享;2、同时,CAS Server需要考虑将Ticket、用户认证信息等实现共享,否则同样会出现重定向循环的问题。
cas-server02
Client
运行的shiro应用
管理所有的Subjects
cas-client01
Application Code
the current “user”(可以是当前的用户,也可以是当前的session等等)
Nginx01
开始
cas-server03
CAS Client集群需要考虑将Session实现共享,否则会出现重定向循环的问题。注:CAS Client也可以将用户信息实现共享。
SecurityManager(管理内部组件实例,并提供安全管理的各种服务)
subject.login()
注意: isRemembered() 和 isAuthenticated()的区别以及使用场景!
Nginx集群
安全域(管理所有的security data)
Session共享
Y
0 条评论
下一页