已经尝试并测试了几种解决方案,但仍无法解决使用IE 11时出现的问题:在开发工作正常的基础上,但是当我发布到生产基地时,用户总是被重定向到登录页面。 / p>
此外,IE 11(并且只有IE 11),URL没有按预期显示。
示例:在IE 11中我有
192.168.1.97:8080/(F(l3y4LnbO9OFvu_KMr9K_0usZD1lu_ykH8oyOBMmP6cf8sgf6hsHr7sQCWMkqF9SFVd_27MxCwLoFVsKGZ3YMMRJW4GiX8S4CbGsvmvz6bW7qOwNVZBebiTjbf7WcRodnk7P8721gqQ7Sn3KXgvogOmyQXw9GpaRFlQoHW9lWkgRkwAy2uncjKEALjD_2ZM23CB9nYP0rMU5pVFdjY6QKYQ2))/GUI/wbs.aspx
并在Firefox中正确显示192.168.1.97:8080/GUI/wbs.aspx
有谁知道原因是什么?
答案 0 :(得分:2)
看起来IE11不接受您的生产网站的cookie,并且您还允许无Cookie会话,因此它将会话ID放在URL中。此设置位于web.config
设置中的authentication
。因此,您可以强制它始终使用以下Cookie:
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" cookieless="UseCookies" ...
cookieless
设置为HttpCookieMode个值之一,其中有四个。默认值为UseDeviceProfile
,即:
如果设置表明浏览器或设备支持cookie, 使用饼干;否则,在查询中使用标识符 字符串。
这就是为什么你看到那个奇怪的URL。如果您将其更改为UseCookies
,那么它只会在网址中使用Cookie而不是ID,并且您需要确保接受Cookie,否则他们将无法保持身份验证。