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. python函数作用域LEGB

    我们的在学习Python函数的时候,经常会遇到很多定义域的问题,全部变量,内部变量,内部嵌入的函数,等等,Python是如何查找的呢?以及Python又是按照什么顺序来查找的呢?这里做一个顺序的说明 ...

  2. 【复制虚拟机】虚拟机复制后无ip的问题

    先编辑虚拟机选项,把网络适配器删掉后保存,再重新添加网络适配器 然后开机 编辑文件/etc/udev/rules.d/70-persistent-net.rules,进去之后是这个样子 把前两个删掉, ...

  3. spark监控入门

    前言 Spark作为计算引擎每天承载了大量的计算任务,为了监控集群的资源使用情况,对spark的监控也在所难免,Spark的监控有3个入口,1. Rest; 2.另一个是Metrics; 3. Log ...

  4. HTTP错误 404.17 - Not Found" IIS 7.5 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理

    Errore HTTP 404.2 - Not Found" IIS 7.5 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理   出现这种情况的原因通常是因为先安装了Framewo ...

  5. C# asp.net 比较两个时间的差求天数

    string str1 = "2017-2-13 23:59:59"; string str2 = "2017-2-14 0:00:01"; DateTime ...

  6. Cocos2d-x学习笔记(三)main方法

    0. UNREFERENCED_PARAMETER(X)避免编译器关于未引用参数的警告. 下边代码用于屏蔽单个函数的警告: #pragma warning( push ) #pragma warnin ...

  7. TeamViewer 说明截图

  8. Excel表格的导入导出

    Excel文件的组成: 01.一个Excel文件由N个Sheet组成的 02.一个Sheet由N个Row组成 03.一个Row由N个Cell组成 需求: 把内存中的数据 写入到指定的excel表格中! ...

  9. smarty课程---smarty3的安装和使用

    smarty课程---smarty3的安装和使用 一.总结 一句话总结:smarty 是什么,就不多说了,用过php,接触过php的人都对smarty 再熟悉不过了.它是一个很强大的代码分离软件,作为 ...

  10. python打印cookies获取cookie

    def test_002_buy_ticket(self): data = [{"}] print(data) data = json.dumps(data) cookies = self. ...