Cas20ProxyReceivingTicketValidationFilter 

继承AbstractTicketValidationFilter,这里有几个模板方法。例如getTicketValidator,preFilter.

onSuccessfulValidation, onFailedValidation等。大的逻辑在AbstractTicketValidationFilter的doFilter方法中,而Cas20ProxyReceivingTicketValidationFilter主要实现了父类中的模板方法。总体逻辑如下:

Cas20ProxyReceivingTicketValidationFilter 的具体实现

preFilter

这个方法是判断前置条件,各个子类的前置条件是各个子类自己去去决定的。

在本过滤器中,前置条件很简单,参数proxyReceptor为空或者请求uri不是以proxyReceptorUrl结尾的,则返回true,然后读取并相应代理请求。

getTicketValidator

这个方法主要是产生TicketValidator对象,先来说说TicketValidator有什么用。TicketValidator只有一个方法

Assertion validate(String ticket,String service) throw TicketVaidationException;

根据票据和service来产生Assertion对象,那么到底是什么票据呢?

还记得CAS登录整个IE过程么,没有登录跳转到CAS服务器,认证通过后ie有跳转到需要访问的应用,这个时候会有两个票据产生,一个TGT票据,这个是和用户有关的,另外一个是ST票据,ST票据是通过跳转post参数传递过来的,默认的参数为ticket。那么service是什么呢?就是你要访问的app的URL地址,包括url参数,好了知道了TicketValidator的作用,那么我们来说说怎么创建TciketValidator对象。

根据acceptAnyProxy,allowedProxyChains,casServerUrlPrefix等参数来创建

其中casServerUrlPrefix是需要要的

cas client  加入后出现错误

 
org.jasig.cas.client.validation.TicketValidationException:
No principal was found in the response from the CAS server. 出现错误的原因:查看
Cas20ProxyReceivingTicketValidationFilter的casServerUrlPrefix属性是否配置对了

  

 
 
 
 

cas Cas20ProxyReceivingTicketValidationFilter的更多相关文章

  1. Configuring the JA-SIG CAS Client --官方

    1. for Java using Spring Configuration of the CAS Client for Java via Spring IoC will depend heavily ...

  2. CAS FOR WINDOW ACTIVE DIRECTORY SSO单点登录

    一.CAS是什么? CAS(Central Authentication Service)是 Yale 大学发起的一个企业级的.开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(支持 ...

  3. cas单点登录搭建

    Cas Server下载:http://developer.jasig.org/cas/ Cas Client下载:http://developer.jasig.org/cas-clients/ 测试 ...

  4. CAS代理配置

    CAS Server:www.sinosoft.com 代理服务:palace.sinosoft.com 被代理服务:gguser.sinosoft.com 1. 建立key,命令如下: keytoo ...

  5. SSO之CAS单点登录实例演示

    本文目录: 一.概述 二.演示环境 三.JDK安装配置 四.安全证书配置 五.部署CAS-Server相关的Tomcat 六.部署CAS-Client相关的Tomcat 七. 测试验证SSO 一.概述 ...

  6. 测试CAS

    参考博客 http://www.cnblogs.com/adolfmc/archive/2012/07/16/2593291.html 准备工作: 1.cas服务器:http://cas:8443/l ...

  7. CAS单点登录中文用户名乱码问题

    CAS单点登录中文用户名乱码问题,有两种情况 1. CAS server乱码 即在向server端提交用户名和密码时,发生了乱码,解决方法是: 打开WEB-INF/web.xml,在其它的Filter ...

  8. cas的http配置和rmi远程调用

    1.cas配置http请求(服务端) 1) 解压cas-server-3.4.4-release.zip将modules目录下的cas-server-webapp-3.4.4.war改名称为cas.w ...

  9. 如何利用tomcat和cas实现单点登录(2):配置cas数据库验证和cas客户端配置

    接(1),上一篇主要讲述了tomcat和cas server端的部署. 接下来主要还有两个步骤. 注意:为了开启两个tomcat,要把直接配置的tomcat的环境变量取消!!!!!!!!!! 客户端配 ...

随机推荐

  1. 20145317彭垚《网络对抗》Exp9 Web安全基础实践

    20145317彭垚<网络对抗>Exp9 Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询 ...

  2. Linux命令中:rsync和cp之间的区别

    rsync:只拷贝那些更新的文件: cp -u:也可以实现类似效果: 两者都基本可以满足备份的需求: 只是一般情况下,用rsync做这类备份之类的事情,更多见: 在备份的操作中,拷贝,过期文件的删除是 ...

  3. ACM-ICPC 2018 沈阳赛区网络预赛 Made In Heaven(K短路)题解

    思路:K短路裸题 代码: #include<queue> #include<cstring> #include<set> #include<map> # ...

  4. IDEA,RubyMine等JetBrains系列软件通用破解教程

    此教程不光适用于IDEA,还可以在RubyMine等JetBrains系列软件使用,亲测可用. (1)下载安装你需要的JetBrains系列软件,安装完最好不要打开,直接finish,断开网络. (2 ...

  5. (转)MyBatis & MyBatis Plus

    (二期)3.mybatis与mybatis plus [课程三]mybatis ...运用.xmind0.1MB [课程三]mybatis...机制.xmind0.2MB [课程三]mybatis与j ...

  6. 如何设置datatable的宽度

    本文为博主原创,未经允许不得转载: datatable插件具有很好的自动适应性,在大多数情况下可以自适应,完美的展示列表内容. 实现其自适应的其特性为:"bAutoWidth": ...

  7. TCGA系列--LncMAP

    LncMAP:http://www.bio-bigdata.com/LncMAP/index.jsp

  8. django视图函数及快捷方式

    视图函数,简称视图,本质上是一个简单的Python函数,它接受Web请求并且返回Web响应. 响应的内容可以是HTML网页.重定向.404错误,XML文档或图像等任何东西.但是,无论视图本身是个什么处 ...

  9. [JSBSim]基于winsocket2的TCP\UDP使用例子

    TCP部分: 参考:http://blog.csdn.net/sbfksmq/article/details/50808863 另附:linux下的tcp/udp参考:https://www.cnbl ...

  10. Codeforces 861D - Polycarp's phone book

    861D - Polycarp's phone book 思路:用map做的话,只能出现一次循环,否则会超时. 代码: #include<bits/stdc++.h> using name ...