cas Cas20ProxyReceivingTicketValidationFilter
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的更多相关文章
- Configuring the JA-SIG CAS Client --官方
1. for Java using Spring Configuration of the CAS Client for Java via Spring IoC will depend heavily ...
- CAS FOR WINDOW ACTIVE DIRECTORY SSO单点登录
一.CAS是什么? CAS(Central Authentication Service)是 Yale 大学发起的一个企业级的.开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(支持 ...
- cas单点登录搭建
Cas Server下载:http://developer.jasig.org/cas/ Cas Client下载:http://developer.jasig.org/cas-clients/ 测试 ...
- CAS代理配置
CAS Server:www.sinosoft.com 代理服务:palace.sinosoft.com 被代理服务:gguser.sinosoft.com 1. 建立key,命令如下: keytoo ...
- SSO之CAS单点登录实例演示
本文目录: 一.概述 二.演示环境 三.JDK安装配置 四.安全证书配置 五.部署CAS-Server相关的Tomcat 六.部署CAS-Client相关的Tomcat 七. 测试验证SSO 一.概述 ...
- 测试CAS
参考博客 http://www.cnblogs.com/adolfmc/archive/2012/07/16/2593291.html 准备工作: 1.cas服务器:http://cas:8443/l ...
- CAS单点登录中文用户名乱码问题
CAS单点登录中文用户名乱码问题,有两种情况 1. CAS server乱码 即在向server端提交用户名和密码时,发生了乱码,解决方法是: 打开WEB-INF/web.xml,在其它的Filter ...
- cas的http配置和rmi远程调用
1.cas配置http请求(服务端) 1) 解压cas-server-3.4.4-release.zip将modules目录下的cas-server-webapp-3.4.4.war改名称为cas.w ...
- 如何利用tomcat和cas实现单点登录(2):配置cas数据库验证和cas客户端配置
接(1),上一篇主要讲述了tomcat和cas server端的部署. 接下来主要还有两个步骤. 注意:为了开启两个tomcat,要把直接配置的tomcat的环境变量取消!!!!!!!!!! 客户端配 ...
随机推荐
- android 实践项目 总结 (修改)
Android手机定位与地图实现 在一个不熟悉的环境中,获得自己的位置,选择合适的就餐地点,住宿和公交路线成为一项难题.本次的实践项目就是为了解决上述难题的,通过调用百度地图的接口实现定位.查询公交路 ...
- Intellij新建Spring项目引入用户目录下的Spring jar包
首先,在IntelliJ IDEA中新建module,选择Spring应用: 在初次使用时,如果IDE检测到本地没有spring核心库,则会在新建过程中下载对应库文件,在使用spring框架时,可 ...
- 【jdk源码分析】jdk8的ArrayList初始化长度为0
先看结果 用的是反射获取elementData底层数组的长度 查看源码 无参构造函数没有了this.size = 10; 图1 图2 图3 图4 java的基本数据类型默认值 所以无参构造时长度为0 ...
- hdoj-2028-Lowest common multiple plus
题目:Lowest common multiple plus 代码: #include<stdio.h> int common(int a,int b)//计算最大公约数 { int c= ...
- miRNA几大常用的数据库
1.miRbasehttp://www.mirbase.org/2.miRDBhttp://www.mirdb.org/miRDB/policy.html3.miRandahttp://www.mic ...
- 会员通过消费攒积分,升级RENEW以及降级的需求
需求看上去及其简单,如下: 用文字描述就开始不容易了. 先按等级排个序,根据下一个等级,推前一个等级: --C---B----V-----A 在计算一下升级需要的积分:--C表示普通会员-----需要 ...
- ASP.NET MVC实现网站验证码功能
网站添加验证码,主要为防止机器人程序批量注册,或对特定的注册用户用特定程序暴力破解方式,以进行不断的登录.灌水等危害网站的操作.验证码被广泛应用在注册.登录.留言等提交信息到服务器端处理的页面中. 在 ...
- MongoDB(课时21 索引)
3.5 索引(重点) 任何数据库中,索引都是一种提升数据库检索性能的手段,这一点在MongoDB数据库中同样是存在的,MongoDB数据库里面存在两种索引创建:一是自动创建,另外是手工创建. 范例:重 ...
- kali删除软件
kali中主要为2种卸载方法:1.apt2.dpkg 使用apt的方式有:apt-get remove [package]apt-get remove --purge # ------(package ...
- 家里各台机器的php性能测试
所用脚本: <?php $before = microtime(true); $list= array( "keya" => "the value a&quo ...