[Bug]IE11下,forms认证,出现无法保存cookie的问题
目录
ie11
在ie11下,访问服务器上的网站地址,莫名其妙的多出一串东西,这一串字符串是由于客户端禁用cookie造成sessionid无法写入cookie,所以就拼在url上面了:
http://192.168.80.90:8003/(F(f7MHPrEbtCN867LFxf9VSLQnzHRsU41jVEYkBT6WTAbyiBlFGeJrLDnvj7cI4M8fEUPPwoqLANdfLxb7ydCt6vOPDxh9rP2ssg9L7-xvSpaEV2pE6eIW9foWcMbw6MMQAcTU2ClXOHggMGGbhzv-MA2))/GroupZone/TopicManager.aspx?groupID=137197c1-c13d-4580-8a46-1535e639feaf
如图所示:

也可以看一下forms验证FormsAuthentication.SetAuth方法:
//
// 摘要:
// 为提供的用户名创建一个身份验证票证,并将该票证添加到响应的 Cookie 集合中或 URL 中(如果使用的是无 Cookie 身份验证)。
//
// 参数:
// userName:
// 已验证的用户的名称。这不必映射到 Windows 帐户。
//
// createPersistentCookie:
// 如果为 true,则创建持久 Cookie(跨浏览器会话保存的 Cookie);否则为 false。
//
// 异常:
// System.Web.HttpException:
// System.Web.Security.FormsAuthentication.RequireSSL 为 true 且 System.Web.HttpRequest.IsSecureConnection
// 为 false。
public static void SetAuthCookie(string userName, bool createPersistentCookie);
正常应该是
http://192.168.80.90:8003/GroupZone/TopicManager.aspx?groupID=137197c1-c13d-4580-8a46-1535e639feaf

解决方案
方案1:
查找了网上的说法,说是客户端浏览器禁用cookie造成的,然后在web.config中添加cookieless=“UseCookies”
<authentication mode="Forms" >
<!--ie11 禁用cookie,解决方案-->
<forms cookieless="UseCookies" loginUrl="~/GroupZone/Login.aspx" timeout="1000"></forms>
</authentication>
修改后的浏览,如图所示:

ie11配置:(为了不修改客户端浏览器的配置可以修改网站的web.config)

方案2:
虽然上面的解决方案解决了的问题,但是页面的样式还是错乱的,导致页面上的一些服务器控件无法使用。在服务器.net framework的版本为4.0,将版本升级到4.5,重启电脑解决问题,配置文件中也不需要修改了,样式也正常了。
总结
这个问题折磨我两天了,今天终于解决了,各种办法都尝试了,最后没办法了,将服务器中.net framework给升级了。反而问题解决了,无语了。
[Bug]IE11下,forms认证,出现无法保存cookie的问题的更多相关文章
- IE11下Forms身份认证无法保存Cookie的问题
ASP.NET中使用Forms身份认证常见的做法如下: 1. 网站根目录下的Web.config添加authentication节点 <authentication mode="For ...
- [转]IE11下Forms身份认证无法保存Cookie的问题
本文转自:http://www.cnblogs.com/jaxu/p/3698377.html ASP.NET中使用Forms身份认证常见的做法如下: 1. 网站根目录下的Web.config添加au ...
- IE11下ASP.NET Forms身份认证无法保存Cookie的问题
IE11下ASP.NET Forms身份认证无法保存Cookie的问题 折腾了三四天,今天才找到资料,解决了. 以下会转贴,还没来得及深究,先放着,有空再学习下. ASP.NET中使用Forms身份认 ...
- IE10,IE11下cookie无法写入问题
asp.net 4.0的程序,发布后,测试在ie6,ie7,ie8,ie9下均可以正常登录,但是在ie10,ie11下就是无法保存cookie,排查了一下是否ie10,ie11是否存在设置问题发下并不 ...
- asp.net forms认证
工作中遇到的asp.net项目使用forms认证.以前虽然用过,但其原理并不了解,现在甚至对什么是form认证也完全不知道了.对一样东西如果不清楚其原理,不知其所以然,那么死记硬背是无济于事的. as ...
- 在asp.net WebAPI 中 使用Forms认证和ModelValidata(模型验证)
一.Forms认证 1.在webapi项目中启用Forms认证 Why:为什么要在WebAPI中使用Forms认证?因为其它项目使用的是Forms认证. What:什么是Forms认证?它在WebAP ...
- FormsAuthentication 登录兼容 IE11 保存cookie
现象:使用FormsAuthentication进行登录验证,在IE11客户端无法保存cookie 解决方法:在web.config中的forms中增加cookieless="UseCook ...
- asp.net权限认证:Forms认证
asp.net权限认证系列 asp.net权限认证:Forms认证 asp.net权限认证:HTTP基本认证(http basic) asp.net权限认证:Windows认证 asp.net权限认证 ...
- IE下无法保存Cookie和Session问题
最近在做新的Web项目时,因为一个验证码无法保存在Cookie中,或者更确切地说是IE下无法保存Cookie的问题纠结了整整一天时间,考虑了多种原因,单步调试了不下三十次,也没有结果.甚至在无奈之下改 ...
随机推荐
- sicily 1172. Queens, Knights and Pawns
Description You all are familiar with the famous 8-queens problem which asks you to place 8 queens o ...
- mybatis-plus的学习
1.mybatisplus 提供了比较齐全的crud即增删改查,不需要在mapper.xml里写sql可以直接调用 原文链接:http://blog.csdn.net/u014519194/artic ...
- memcached基本操作和语法
一.基本语法 <command name><key><flags><exptime><bytes>\r\n<data block> ...
- 【Java基础】一些问题
1. HashSet是如何保证数据不重复的: 首先,HashSet添加元素的时候,底层是通过HashMap的put方法来实现的,而添加的元素,则是保存在了hashMap的key里,因为HashMap的 ...
- [PAT] 1140 Look-and-say Sequence(20 分)
1140 Look-and-say Sequence(20 分)Look-and-say sequence is a sequence of integers as the following: D, ...
- hdu 2044-2050 递推专题
总结一下做递推题的经验,一般都开成long long (别看项数少,随便就超了) 一般从第 i 项开始推其与前面项的关系(动态规划也是这样),而不是从第i 项推其与后面的项的关系. hdu2044:h ...
- Linux文件系统中/tmp的临时文件清理说明
https://www.cnblogs.com/MonkeyAC/articles/3631401.html
- Sql Server递归查询(转)
有如下数据表 假如我们要查询ID为003的数据的所有子节点我们可以使用CTE 递归查询完成... if OBJECT_ID('tb','N') is not null drop table tb; c ...
- 转:攻击JavaWeb应用[7]-Server篇[1]
转:http://static.hx99.net/static/drops/tips-604.html 攻击JavaWeb应用[7]-Server篇[1] 园长 · 2013/09/22 15:39 ...
- CodeForces 779C Dishonest Sellers
贪心. 如果这周便宜,那么肯定这周买.另外要求这周至少买到$k$个,那么肯定是需要额外购买差价小的. #include<map> #include<set> #include& ...