我们有一个允许用户登录的非SSL ASP.NET Web应用程序(ASP表单身份验证,inproc)。
经过身份验证后,我们会将浏览器重定向到另一个我们无法控制的网站/域上的外部SSL安全页面。
完成后,客户端将重定向回原始http网络应用程序上的预配置网址。
然而,客户被要求再次在我们这边“重新登录”,这是不受欢迎的......
在HTTP和HTTPS之间转换时,似乎会破坏表单身份验证cookie。
如何让表单身份验证cookie保持活动状态,以便客户不必在往返时重新进行身份验证?
答案 0 :(得分:1)
它没有被摧毁;您没有在您的域上进行身份验证,因此Cookie未在您的域中设置,因此您域上的请求将不包含所述身份验证Cookie。
这很好。如果没有发生这种情况,那么您访问过的每个域中的每个cookie都将随每个请求一起发送。这显然是疯狂的2)安全漏洞。在mydomain.com上设置cookie应该
如果您使用的是第三方认证系统,例如google,facebook等,它们都会有某种回调令牌,您必须处理并设置自己的Cookie。
答案 1 :(得分:1)
考虑使用更多指定的can be found here为您的Cookie设置Cookie的域名属性,或者尝试以下代码:
Response.Cookies["your_cookie_name"].Domain = "yourdomain.com";
答案 2 :(得分:0)
您正在寻找单点登录解决方案。 对于您的问题可能有点过分,您可能只想获得相同的域名。但如果这不是一个选项,你可能想看看: Windows Identity Foundation