网站大量收购闲置独家精品文档,联系QQ:2885784924

cas框架分析简记.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
cas框架分析简记

目的 为了更有效了解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

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档