- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目的
为了更有效了解CAS的结构和实现,帮助分析其结构编写。
参考人员为本部门的所有人员。
模块划分
中心认证服务:是CAS的中心,是请求处理层和CAS服务层的接口。CAS 服务是提供创建,存储,激活,撤销包含认证信息票据服务功能的,其主要内容是票据管理。
票据管理:包含票据(TGT,ST)、票据注册、票据清理、票据代理 4个部分,是CAS的核心。其中票据管理中的每个功能点也可作为单独组件进行处理。
服务管理:负责请求服务的注册、验证、撤销等功能。
事件管理:待续
认证管理:包括认证服务、主体(Principal)管理等功能,是CAS提供合法用户的基础。
有效性管理:定义了协议必须遵守的有效性规范,根据规范负责认证用户提供数据和协议的有效性判断;其中包含Crendetial和Protocal的有效性判读。
统计管理:待续。
模块关系图
所有对CAS的请求都是经过WEB Controller来进行处理,通过和中心认证服务接口交互,请求处理层和CAS服务层的交互,完成服务管理,票据管理,认证管理的工作,已完成CAS的整个服务过程。
交互原理图
流程图
CAS3.1.1中WEB Controller主要包含LoginControler,LogoutController,ServiceValiadteController , ProxyController , OpenIdProviderController 五种控制器。其中LoginControler是根据login-flow完成整个认证或者单点过程的。
LoginControler的登录流程如下:
认证流程:
认证完成后继续执行登录工作流完成整个操作。
类图模型
CentralAuthenticationService:是CAS的中心,是请求处理层和CAS服务层的接口。CAS 服务是提供创建,存储,激活,撤销包含认证信息票据服务功能的。
认证管理器模块分析:
Authentication:认证对象,代表了成功的认证请求。他包含了Principal和额外的元数据信息(例如:认证日期和属性Map);
AuthenticationHandler:判断Credentials的有效性接口。基于密码的Credentials可以与外部LDAP,Kerberos,JDBC数据源一起测试使用。证书认证可以与证书链验证使用。实现类必须是源码信息进行参数化。
AuthenticationMetaDataPopulator:认证过程的扩展接口,该扩展使CAS可以提供和认证信息(Principal)相关的增加属性。
AuthenticationManager :对提供的Credentials进行认证,判断其合法性,它是唯一对Credentials进行有效性判断的管理器,所有的认证信息的判断也应该在此。该接口中提供了认证方法
Authentication authenticate(final Credentials credentials) throws AuthenticationException;
AuthenticationManagerImpl:默认的认证管理器实现。该管理器遵循如下算法。首先管理器循环执行AuthenticationHandlers 数组直至找到一个可以判断Credentials有效性的Handler。如果发现的Handler返回true,继续算法;如果返回false,继续检查另一个 Handler。如果抛出异常,则跳出整个过程重新抛出异常。第二,找到CredentialsToPrincipalResolver根据认证通过的Credentials创建一个Pricipal。最后管理器使用AuthentiationAttributesPolulators来填充 (populate)Authentication对象的属性map。该管理器的行为是由配置属性决定的。
Credentials:标志性接口。是一个不透明对象,代表了用户断言可以说明的用户是谁的信息。在CAS中,任何可以被用来进行认证的信息都被封装为Credentials。他可以包含userid和password,证书,IP,cookie值。一些Credentials是需要验证,同时其他信息才是值得信赖的。
Principal :认证项中包含的内容规范定义。
SimplePrincipal :Principal的简单实现类。这里面仅仅包含了ID属性,较复杂的Principal对象应该还应包含对视图层有意义的信息,但是对CAS的剩余的部分应该是透明的
Service :Service的标志性接口。Services一般指使用CAS的远程应用,或者Principal想访问的应用。大部分情况下他们是一些形式的web应用。
WebApp
您可能关注的文档
最近下载
- 妇产科学医案,妊娠滋养细胞疾病病例分析.docx VIP
- 相似三角形培优难题集锦(含答案).doc VIP
- (高清版)B 7000.201-2008 灯具 第2-1部分:特殊要求 固定式通用灯具.pdf VIP
- 国家管网集团作业许可安全管理细则知识试卷.doc
- 《3岁以下婴幼儿生活照护托育服务规范》(DB37T 4784—2024).pdf VIP
- 法律文书写作 民事起诉状改错练习 民事起诉状改错练习.pptx VIP
- DB13(J)T 8561-2023 民用建筑渗漏修缮技术标准.pdf VIP
- 16J914-1 公用建筑卫生间.docx VIP
- 《机器人传感器》第3章 智能传感器.pptx VIP
- 工序检查一览表建设监理单位.docx VIP
文档评论(0)