[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的问题纠结了整整一天时间,考虑了多种原因,单步调试了不下三十次,也没有结果.甚至在无奈之下改 ...
随机推荐
- C# 读写XML文件示例
using System; using System.Collections.Generic; using System.Text; using System.Configuration; using ...
- c++设计模式系列----单例模式(Singleton模式
单例模式是为了解决唯一对象实例问题而提出来的,许多时候整个系统只需要拥有一个全局对象,这样有利于我们协调系统整体的行为.比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单 ...
- UNIX shell 学习笔记 一 : 几个shell的规则语法对比
1. 查看系统有哪些可用的shell cat /etc/shell 2. 每种shell都有一个特殊内置变量来存上一条命令的退出状态,例: C/TC shell $status % cp fx fy ...
- python中的map、reduce、filter、sorted函数
map.reduce.filter.sorted函数,这些函数都支持函数作为参数. map函数 map() 函数语法:map(function, iterable, ...) function -- ...
- ofbiz 之minilang解析
编写一个simple method 首先我们需要对输入参数进行验证 ,判断参数是否完整. 1. 验证 1.1. Login-required :这是一个simple-method的属性,对是否需要登陆 ...
- JS作用域和ASP(vbs)作用域比较
一.js作用域,先上图: 以上代码执行的效果是,依次弹出 undefined, undefined, a, a,为什么是这样的结果啦?因为JS的作用域为链式作用域. 作用域链: 用VAR声明一个变量时 ...
- 在CentOS7.5的虚拟环境下新建你的django项目
1.首先安装pyenv和virtualenvs,之前的博客有说安装过程 2.创建Django专用的虚拟环境[root@localhost ~]# mkdir Django_env[root@local ...
- vue v-bind绑定属性和样式
这期跟大家分享的,是v-bind指令.它可以往元素的属性中绑定数据,也可以动态地根据数据为元素绑定不同的样式. 绑定属性 最简单的例子,我们有一张图片,需要定义图片的src.我们可以直接在元素的属性里 ...
- python判断一个对象是可迭代?
1.介绍一下如何判断一个对象是可迭代的? 通过collections模块的Iterable类型判断: >>> from collections import Iterable > ...
- 洛谷P1280 尼克的任务 [DP补完计划]
题目传送门 题目描述 尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮件包含了尼克主管的部门当天要完成的全部任务,每个任务由一个开始时刻与一个持续时间构成. 尼克的一个工作日为N分钟,从 ...