码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2014-09-26 19:13:18      阅读:495      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   ar   for   文件   sp   

公司项目组同事最近开发部署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);
                }

 

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

标签:style   blog   http   color   io   ar   for   文件   sp   

原文地址:http://www.cnblogs.com/shishui508/p/3994992.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!