cas单点登录循环重定向问题
来源:互联网 发布:kali linux ddos 编辑:程序博客网 时间:2024/05/22 01:31
首先需要说明的是这里所有客户端都是指的asp.net程序。
最开始配置的时候没注意使用的是https,浏览器一直出现
循环重定向问题,后来改为http方式就好了。网上有一些
解决办法,其中说的最多的就是建议用户直接增加配置:
<sessionState mode="StateServer" cookieless="UseCookies" timeout="36000"></sessionState>
其目的为:1、启用会话状态;2、开始asp.net状态服务
但是试了之后不起作用,后来看了博客园吕震宇Yale CAS + .net Client 实现SSO
问题得到了解决,原因是未能为 SSL/TLS 安全通道建立信任关系。
我的理解是.net客户端没有安装证书,不能和cas服务器建立安全链接,
而在java中可以使用keytool 生成证书,所以没有此问题。
感谢牛人的研究,解决方法如下:
(1)在Visual Studio中打开“CASDotNetClient”项目中的“\Utils\HttpUtil.cs”文件,如果打不开请选择较高版本的vs,我使用的是vs2017,添加如下命名空间:
using System.Net.Security; using System.Security.Authentication; using System.Security.Cryptography.X509Certificates;
(2)在HttpUtil类中增加如下方法:
internal static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) { return true; }
(3)在PerformHttpGet方法中添加验证服务器证书回调自动验证代码,添加代码后的PerformHttpGet方法如下:
internal static string PerformHttpGet(string url, bool requireHttp200) { string responseBody = null; //-- 以下新添加的代码:验证服务器证书回调自动验证 ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult); //-- 以上为新添加的代码 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { if (!requireHttp200 || response.StatusCode == HttpStatusCode.OK) { using (Stream responseStream = response.GetResponseStream()) { if (responseStream != null) { using (StreamReader responseReader = new StreamReader(responseStream)) { responseBody = responseReader.ReadToEnd(); } } } } } return responseBody; }
(4)保存修改并重新生成解决方案,并替换客户端的DotNetClient.dll,重新运行测试。
使用https时客户端配置和使用http差不多,只要将web.config中的服务器url中的http改为https即可,
而在cas服务端的tomcat需要配置https相关的内容,以后再总结。
阅读全文
1 0
- cas单点登录循环重定向问题
- cas单点登录出现的重定向循环问题解决方案
- cas单点登录出现的重定向循环问题解决方案
- cas 单点登录问题
- spring+shiro+cas的整合问题之循环重定向
- Yale CAS dotNet Client重定向循环问题
- weblogic单点登录session问题,服务器之间的重定向!
- Cas单点登录 证书问题
- CAS单点登录中文用户名乱码问题
- CAS单点登录遇到的问题记录
- CAS单点登录中文用户名乱码问题
- CAS单点登录中文用户名乱码问题
- 【LoadRunner】Http协议下单点登录的URL重定向问题
- SpringSecurity 登录重定向问题
- php 避免登录出现循环重定向
- cas实现单点登录
- CAS 单点登录原理
- cas 实现单点登录
- 文章标题
- Spring Bean加载源码解析
- rocket mq支持OpenMessaging访问示例
- JTA的事务管理由UserTransaction管理.
- 【c++】use vector
- cas单点登录循环重定向问题
- http://9713bbb1.wiz03.com/share/s/2n4XKN1YKkvr2PQq7C18Rgeg2BZisx020QAj2zEMAn3mZxJG
- stm 32 在线升级
- jenkins安装后 配置免密登录 jenkins连接不上
- 201403-2窗口
- Oracle查看修改表空间
- maven 下载安装 myeclipse 2014
- ES6常用命令
- react-native 使用原生dialog踩坑