业务场景:

在多系统业务集成时,往往会有单点登录跨站获取信息或打开页面,此时系统往往是url携带ticket信息效验,ticket效验通过后页面重定向到指定的页面或接口

问题症状:

在.Net中使用WebClient或WebRequest访问(服务器内部重定向的url)时,重定向前更改的cookie没有在重定向后没有,以及重定向前后SessionId会出现变化

示例URL:http://localhost:1133/login.xip?LoginMethod=ssologin&Ticket=adc395c9-994e-4e38-b30d-50494832849f&ReturnUrl=userinfo.xip

解决方案:

使用HttpWebRequest创建请求,设置CookieContrainer

完整代码:

            string url = "http://localhost:1133/login.xip?LoginMethod=ssologin&Ticket=adc395c9-994e-4e38-b30d-50494832849f&ReturnUrl=userinfo.xip";
            var web = (HttpWebRequest)HttpWebRequest.Create(url);
            web.CookieContainer = new CookieContainer();
            var res = web.GetResponse();       

  

版权声明:本文为dukk原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/dukk/p/10396922.html