当前位置: 首页 > news >正文

优质做网站费用/外贸网站优化

优质做网站费用,外贸网站优化,mac wordpress 安装,装修公司口碑在CAS中很多地方使用了策略模式,那么根据什么方式来确定使用哪种策略呢?在很多策略类中有一个support(Credentials c)的方法,所以可以看出是根据Credentails的类型来决定使用哪种策略的。所以我们在AuthenticationHandler,CredentialsToPrinc…

    在CAS中很多地方使用了策略模式,那么根据什么方式来确定使用哪种策略呢?在很多策略类中有一个support(Credentials c)的方法,所以可以看出是根据Credentails的类型来决定使用哪种策略的。所以我们在AuthenticationHandler,CredentialsToPrincipalResolver,CredentialsBinder这些都可以看到support(Credentials c)方法。

下面是公用API列表,我们来一个个介绍这些接口的作用吧。

    • org.jasig.cas.CentralAuthenticationService:CAS核心,提供给HTTP,Web HTML, Web Services, RMI或者其他请求使用。能够创建,存储,验证和验证票据信息。

      具有几个方法:

      1)String createTicketGrantingTicket(Credentials credentials)
              throws TicketException:根据凭证对象来创建一个TGT票据,那么凭证怎么来的呢?就是页面输入的信息,现在知道为啥TGT是和用户相关的凭证了吧。

      2) String grantServiceTicket(String ticketGrantingTicketId, Service service)
              throws TicketException:更具TGT和service来创建ST,从前面我们知道service就是接入的应用系统,那么ST就是用户(TGT)访问的service的票据。

      3) String grantServiceTicket(final String ticketGrantingTicketId,final Service service, final Credentials credentials)
              throws TicketException:这个是干嘛的呢?

        更具TGT和service来创建ST,从前面我们知道service就是接入的应用系统,那么ST就是用户(TGT)访问的service的票据。同时会给服务提供验证的credentials.

      4)Assertion validateServiceTicket(final String serviceTicketId, final Service service) throws TicketException:很容易理解是不是,就是验证ST的,那么怎么返回一个Assertion对象,哦,对了,在前面介绍客户端配置票据验证的时候,是不是验证通过后会有一个xml格式的数据?明白了吧,就是个那个地方使用的。

      5) void destroyTicketGrantingTicket(final String ticketGrantingTicketId):没啥好说了,票据不会一直创建下去,用户也不是一直在线,总需要退出,就算不退出也有一个时间限制吧,这个就是给登出或者超时后销毁和用户相关的TGT票据使用滴。

      6) String delegateTicketGrantingTicket(final String serviceTicketId,  final Credentials credentials) throws TicketException:文档说是给代理使用的,不是很明白,org.jasig.cas.authentication.handler.support.AbstractUsernamePasswordAuthenticationHandler

    • org.jasig.cas.authentication.handler.AuthenticationHandler::这个很好理解,就是实际验证的,只有两个方法:boolean authenticate(Credentials credentials)和 boolean supports(Credentials credentials)后面这个是不是很熟悉啊,对了,就是前面提到的策略模式中的supports方法,怎么认证方法只会返回true和false啊,那么用户信息怎么取得呢?别急嘛,右面有个CredentialsToPrincipalResolver接口专门来做这个事情滴。
    • org.jasig.cas.authentication.handler.PasswordEncoder:密码转换器
    • org.jasig.cas.authentication.principal.Credentials:取得客户输入的数据,或者可以理解为用户认证的凭据。就是需要认证用户身份需要的数据,每种认证方式需要信息是不一样的。这个只是一个类型接口,就是没有任何方法的接口啦。
    • org.jasig.cas.authentication.principal.CredentialsToPrincipalResolver:上面我们说到,Credentials对象是从界面或者别的什么地方取得用户信息,那么用户信息通过认证后怎么转换为Principal对象呢,这个就是这个解析器的作用了,由于认证本身是没有返回用户信息的,只是确定人中通过还是没有通过,所以取得用户信息需要另外一个非常重要的接口PersonAttributeDao,这个接口其实并不在CAS核心接口中的,是在一个叫person-directory-api-1.5.0-RC6.jar中的,这个包里面只有两个类,两个接口,那么实现有那些呢?是在person-directory-impl-1.5.0-RC6.jar,这个里面内容很丰富的。基本上你能想到的所有能取得用户信息的地方都有实现了。这个接口,也是一个策略,只有两个方法:supports , Principal resolvePrincipal(Credentials credentials),后面这个接口是不是很一目了然了?你可以理解我解析,或者更贴切点叫转换。
    • org.jasig.cas.authentication.principal.Principal:这个主要是保存认证后的用户信息。扩展信息放在一个Map中的。
    • org.jasig.cas.authentication.principal.Service:这个接口定义了和客户端相关的方法,例如登出服务器logOutOfService等动作。logOutOfService就是单点登出时候,怎么在服务器端登出所有访问过的客户端啦。
    • org.jasig.cas.authentication.principal.UsernamePasswordCredentials:用户用户名和密码访问的Credentials实现。
    • org.jasig.cas.authentication.Authentication:认证对象,就是一次认证后的结果对象,那么为啥不使用Principal对象来作为认证结果呢?第一不是每次认证都是合法用户,对于不合法用户怎么办呢?其次,认证是一个动作,和这个动作本身相关的信息显然和用户信息是没有关系,例如认证时间。这个接口将Principal对象做了一次包装。也就是说可以通过Authentication接口可以访问到Principal对象。
    • org.jasig.cas.authentication.AuthenticationManager
    • org.jasig.cas.authentication.AuthenticationMetaDataPopulator
    • org.jasig.cas.ticket.proxy.ProxyHandler
    • org.jasig.cas.ticket.registry.TicketRegistry
    • org.jasig.cas.ticket.registry.RegistryCleaner
    • org.jasig.cas.ticket.registry.AbstractTicketRegistry
    • org.jasig.cas.ticket.ExpirationPolicy
    • org.jasig.cas.util.UniqueTicketIdGenerator
    • org.jasig.cas.validation.ValidationSpecification
    • org.jasig.cas.validation.Assertion:这个接口主要是定义了,验证服务返回的对象,就是一个断言,你这个ST有没有权限访问,以及TGT访问的ST认证对象。
    • org.jasig.cas.web.bind.CredentialsBinder:这个是一个绑定器,将用户输入的信息或者从IE或者别的地方得到信息绑定到对应的凭证中去。使用spring web flew后,没有被使用了。

转载于:https://www.cnblogs.com/jiuzhongguo/archive/2012/04/25/2469685.html

http://www.lbrq.cn/news/125083.html

相关文章:

  • 西部数码里面如何建设自己的网站/营销方案设计思路
  • 成人免费无码视频在线网站/手游免费0加盟代理
  • 网站开发我们都能解决/网络营销总监岗位职责
  • 网站需求分析模板/运营主要做什么工作
  • 物流网站建设合同范本/爱站网站长seo综合查询
  • WordPress实现文章分类筛选/东莞优化seo
  • 网页建站怎么设置/数据平台
  • 动态网站建设实训心得/只要做好关键词优化
  • 苏州和城乡建设局网站/宁波seo在线优化哪家好
  • 北京网站开发网站建设浩森宇特/成人教育培训机构十大排名
  • 关于怎么做网站/seo学习论坛
  • 自己做ppt网站/网站推广方案
  • 公司网站建设方案详细方案模板/营销型网站建设方案
  • 建个静态网站/seo网站排名查询
  • 网站建设的作用和意义/苏州百度关键词优化
  • 江西专业南昌网站建设/关键词歌词含义
  • 购物网站功能介绍/天津关键词优化专家
  • 免费域名解析网站建设/网络营销总结
  • 清风算法受影响的网站/100个免费推广b站
  • 织梦dedecms5.6 网站搬家详细教程/好用吗
  • 重庆网站建设制作设计/国内最新新闻事件今天
  • 专业做网站服务/广州seo网站服务公司
  • 南通专业企业门户网站设计/免费b站推广网站2022
  • 企业官网网站模板下载/如何做市场推广方案
  • 网站右侧悬浮代码/网站推广的方法
  • 上海松江区建设局官方网站/seo实战培训课程
  • 配置网站开发/端口扫描站长工具
  • 哈尔滨模版建站公司推荐/代引流推广公司
  • 苹果软件下载网站/seo技术培训课程
  • 南宁做网站推广的公司/阿里云域名
  • 搜索引擎优化全攻略:提升百度排名优化
  • Python爬虫入门到实战(3)-对网页进行操作
  • Python应用指南:使用PyKrige包实现ArcGIS的克里金插值法
  • 【LeetCode刷题指南特别篇】--移除链表元素,调试技巧,链表分割
  • Linux 716 数据库迁移
  • AI应用核心转向Context Engineering