CAS与MVC集成下的“循环重定向”分析

公司项目组同事最近开发部署SSO单点登录;要求所有系统登录都切换到SSO登录,陆续上了几个系统都运行正常;公司内部系统都是.net项目 因此都是利用 DotNetCasClient 客户端接SSO。

而我负责的项目部署后 登录时却偶尔出现循环重定向问题;临时的解决办法就是重启站点或修改下config文件;

但这治标不治本;基本上把网上能查到的都了,有两篇文章转发量相当大 一是园里 刑少 同学的《CAS 与.net 集成的 “循环重定向”问题分析》 二是360文档中在PerformHttpGet方法加证书自动回调验证;

但两篇文章都没解决我的问题

仔细思考 发现之前webform项目利用接SSO都没有这样的问题 但我的项目却是一个mvc4的项目,却出现这样的问题。

对票据输出,发现一天内由于循环重定向,票据量上升了几万个

查系统日志,终于发现关于DotNetCasClient的 错误信息 不能将空值插入缓存

最终定位到ParseResponseFromServer方法 将一个string变量在没有判断是否为空的情况下插入缓存

加判断;查看代码逻辑;测试 发现没问题 不会引发其它bug 最后上线 发现再没有人反应循环重定向问题。Ohyeah, 系统日志灰常重要啊,还有网上解决方法不一定适合你啊,每个项目的环境毕竟不太一样,在这上面浪费了不少时间。

if (CasAuthentication.ProxyTicketManager != null && !string.IsNullOrEmpty(proxyGrantingTicketIou))
                {
                    string proxyGrantingTicket = CasAuthentication.ProxyTicketManager.GetProxyGrantingTicket(proxyGrantingTicketIou);
                    if (!string.IsNullOrEmpty(proxyGrantingTicketIou) && !string.IsNullOrEmpty(proxyGrantingTicket))
                        CasAuthentication.ProxyTicketManager.InsertProxyGrantingTicketMapping(proxyGrantingTicketIou, proxyGrantingTicket);
                }
时间: 2024-09-30 09:32:53

CAS与MVC集成下的“循环重定向”分析的相关文章

Apache本地环境下出现循环重定向

最近发现一个很奇怪的问题,用了很久的apache+php访问项目,昨天突然不行了,出现了这个 然后我一点点测试,我用的是TP框架,Indexaciton的index中调用框架里的一个redirect函数 public function index() { /*if(empty($_SESSION['admin']['admin_id'])) { $this->redirect('Public/login','' , 0,'页面跳转中~'); }*/ if(empty($_SESSION['adm

CAS 与.net 集成的 “循环重定向”问题分析

转自:http://www.cnblogs.com/xingshao/archive/2011/09/29/2195746.html 近期的一个项目,项目包含了若干的子系统,因为人员配备的原因,项目会包含不同开发语言编写[java..net]的几个子系统.项目从企业应用集成的角度进行架构,除了在应用层面上的“业务流程整合”之外.还有一个就是“身份认证”层面上的集成,身份认证的整合应用了CAS (Central Authentication Service),它是Yale 大学的 ITS 开发的一

yale cas与webform 循环重定向问题

首先要感谢几位前辈的笔记 CAS 与.net 集成的 “循环重定向”问题分析 Yale CAS + .net Client 实现 SSO(3) 1.干掉web.config中的casClientConfig节点的proxyTicketManager,除非你使用代理 2.干掉authentication配置借点中的path属性 然后就可以完美使用了

【网站国际化必备】Asp.Net MVC 集成Paypal(贝宝)快速结账 支付接口 ,附源码demo

开篇先给大家讲段历史故事,博主是湖北襄阳人.襄阳物华天宝,人杰地灵,曾用名襄樊.在2800多年的历史文化中出现了一代名相诸葛亮(卧龙),三国名士庞统(凤雏),魏晋隐士司马徽(水镜先生),唐代大诗人孟浩然(孟襄阳),张继.杜审言,文学家皮日休,北宋著名书画家米芾(米襄阳),“允冠百王”的光武帝刘秀,东方圣人释道安等一大批历史文化名人.小说<三国演义>120回故事中有30多回提到襄阳. 相传诸葛亮的老婆黄月英黄头发黑皮肤,但知识广博.诸葛亮发明木牛流马,就是从黄月英的传授的技巧上发展出来.不仅如此

Spring MVC集成slf4j-logback

1.  Spring MVC集成slf4j-log4j 关于slf4j和log4j的相关介绍和用法,网上有很多文章可供参考,但是关于logback的,尤其是Spring MVC集成logback的,就相对少一些了,而且其中一些也有着这样那样的问题.进入正题之前先简单介绍下Spring MVC集成slf4j-log4j的过程,如下: 1)      在pom.xml文件中添加slf4j-log4j的依赖,完成后的classpath中将新增三个jar包,分别是:slf4j-api.jar.log4j

【工作笔记二】ASP.NET MVC框架下使用MVVM模式

ASP.NET MVC框架下使用MVVM模式 原文:http://www.cnblogs.com/n-pei/archive/2011/07/21/2113022.html 对于asp.net mvc开发人员或爱好者来说,MVVM模式可能你不是很了解.本来这个模式就是针对WPF和Silverlight开发提出的开发模式. 大概一年前,我当时迷恋Silverlight时,学习了MVVM一段时间,没想到现在可以在MVC用到. 我看了下之前有两篇文章介绍MVVM的.希望可以对MVVM不了解的人有点帮助

nginx和Tomcat集成后发生的重定向问题分析和解决

nginx和Tomcat集成后发生的重定向问题分析和解决 Tomcat前端配置一个HTTP服务器应该是大部分应用的标配了,基本思路就是所有动态请求都反向代理给后端的Tomcat,HTTP服务器来处 理静态请求,包括图片.js.css.html以及xml等.这样可以让你的应用的负载能力提高很多,前端这个HTTP服务器主流用的最多的当属 Apache HTTP Server和nginx.今天这篇文章主要讲解的是这种组合的方式的前提下,后端的Tomcat中的app在301跳转的时候遇到的一个问题. 问

Firefox 打开谷歌页面提示“检测到该服务器正在将此地址的请求循环重定向”的完美解决方法 (转)

尝试:在火狐地址栏打开 about:config,过滤器"搜索"栏里输入 keyword.URL, 未找到该项 输入https://www.google.com 可以打开  那么把以下设为主页就可以了 https://www.google.com.hk/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q= 本文适用于Firefox浏览器,Chrome.猎豹等相关的方法请参见http://blog.si

Spring MVC(十一)--使用字符串实现重定向

Spring MVC中有两种重定向方式: 通过返回字符串,字符串必须以redirect:开头: 通过返回ModelAndView: 重定向的时候如果需要给重定向目标方法传参数,要分字符串参数和pojo对象参数两种,先来总结一下通过返回字符串重定向的方式. 直接模拟一种场景:我在页面点击下一步按钮,会跳转到新的页面,中间通过重定向传递一些参数,如下图: 我的第一个页面: 点击右下角的下一页按钮之后,跳转到下面的页面: 将重定向传递过来的参数显示在第一个方块中指定的位置,这就是需要实现的功能,下面是