cas 单点登录_cas客户端流程详解(源码解析)单点登录

        博主之前一直使用了cas客户端进行用户的单点登录操作,决定进行源码分析来看cas的整个流程,以便以后出现了问题还不知道是什么原因导致的

        cas主要的形式就是通过过滤器的形式来实现的,来,贴上示例配置:

     <listener>          <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListenerlistener-class>      listener>        <filter>          <filter-name>SSO Logout Filterfilter-name>          <filter-class>org.jasig.cas.client.session.SingleSignOutFilterfilter-class>      filter>       <filter-mapping>         <filter-name>SSO Logout Filterfilter-name>         <url-pattern>/*url-pattern>     filter-mapping>           <filter>         <filter-name>SSO Authentication Filterfilter-name>         <filter-class>org.jasig.cas.client.authentication.AuthenticationFilterfilter-class>           <init-param>                              <param-name>SSOServerUrlparam-name>               <param-value>http://sso.jxeduyun.com/ssoparam-value>           init-param>           <init-param>                              <param-name>SSOLoginUrlparam-name>               <param-value>http://www.jxeduyun.com/App.ResourceCloud/Src/index.phpparam-value>           init-param>           <init-param>                             <param-name>serverNameparam-name>               <param-value>http://127.0.0.1:9000param-value>           init-param>           <init-param>                              <param-name>needAttributeparam-name>               <param-value>trueparam-value>           init-param>           <init-param>                                             <param-name>excludedURLsparam-name>               <param-value>/site2\.jspparam-value>           init-param>     filter>     <filter-mapping>         <filter-name>SSO Authentication Filterfilter-name>         <url-pattern>/TyrzLogin/*url-pattern>     filter-mapping>         <filter>         <filter-name>SSO Ticket Validation Filterfilter-name>         <filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilterfilter-class>         <init-param>                          <param-name>serverNameparam-name>             <param-value>http://127.0.0.1:9000param-value>         init-param>         <init-param>                          <param-name>needAttributeparam-name>             <param-value>trueparam-value>         init-param>         <init-param>                          <param-name>SSOServerUrlPrefixparam-name>             <param-value>http://sso.jxeduyun.com/ssoparam-value>         init-param>     filter>    <filter-mapping>         <filter-name>SSO Ticket Validation Filterfilter-name>         <url-pattern>/*url-pattern>     filter-mapping>

         博主用的不是官方的cas的jar包,是第三方要求的又再次封装的jar包,不过就是属性,获取用户信息的逻辑多了点,其他的还是官方的源码,博主懒 的下载官方的jar在进行一步一步的debug看源码了。

        基本配置是添加4个过滤器,请求的时候可以进行拦截进行查看,最后一个是jfinal的开发框架,类似spring,不用管

42251eddab5e276ea3d89a19a4d95be5.png

         以上是jetty抓到请求时,进行获取过滤的流程,只关注cas的这四个,里面涉及到了缓存过滤器(节点类型存储)

55d0b562ecb0d9fb508f930d11836b86.png

        全

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值