博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CAS与MVC集成下的“循环重定向”分析
阅读量:5967 次
发布时间:2019-06-19

本文共 1155 字,大约阅读时间需要 3 分钟。

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

 

转载于:https://www.cnblogs.com/shishui508/p/3994992.html

你可能感兴趣的文章
Linux服务器配置和管理:虚拟机安装CentOS6.7
查看>>
掌握ajax
查看>>
ASA下邮件发送经常失败
查看>>
python3第八天(面向对象)
查看>>
pomelo的session
查看>>
我的友情链接
查看>>
ubuntu atp&dpkg
查看>>
主要 次要通道
查看>>
利用贝叶斯分类器进行文本挖掘---笔记
查看>>
我的友情链接
查看>>
将ping命令结果输出到文本
查看>>
小蚂蚁学习mysql性能优化(8)--数据库结构优化--范式化和反范式化,水平分表,垂直分表...
查看>>
find
查看>>
L2TP/IPSec一键安装脚本
查看>>
听你自己的节奏
查看>>
MySQL触发器的使用
查看>>
Step1:Install EBS and Configure
查看>>
gvim的使用设置
查看>>
JavaScript类型转换
查看>>
java.util.concurrent包(2)——线程池
查看>>