【发布时间】:2012-12-19 18:40:44
【问题描述】:
我正在构建一个 ASP.NET Web 应用程序,使用 ajax 来请求一些内容,它在 FireFox、Chrome 中运行良好,但在 IE 中不稳定: 使用登录时,他/她可以查看所有者文件,如果没有登录页面返回字符串“无权限”。
我登录了网站,我在 IE 中刷新页面,有时它显示文件,有时它显示“无权限”(即未登录)我再次刷新它显示文件。我的意思是有些请求它工作正确,有些请求它工作错误!我已经看到了 HTTP 请求,并看到所有 cookie 发送正确。
这里有一个请求
POST http://abc.com/xxx.asmx/GetFileInfo HTTP/1.1
x-requested-with: XMLHttpRequest
Accept-Language: en-us
推荐人:http://abc.com/?work=home
接受:application/json, 文本/javascript, /; q=0.01
内容类型:application/json; charset=utf-8
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0(兼容;MSIE 8.0;Windows NT 6.1;WOW64;Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; 媒体中心PC 6.0; .NET4.0C; .NET4.0E)
主机:abc.com
内容长度:27
连接:保持活动
编译指示:无缓存
饼干: __utma=63255935.688817123.1357236998.1357236998.1357390216.2; __utmb=63255935.5.10.1357390216; __utmz=63255935.1357236998.1.1.utmcsr=(直接)|utmccn=(直接)|utmcmd=(无); .ASPXAUTH = E83DCA879A8A9AF5DAE72854241CFEBF2AF4BCE7E2227465E71FB428D6816C555176F9F1A1E94CB34F9C48C4FC7C64FBCAA013672182720254821F802242B90098A01A727AA30D4A621B921536B0F5E36F9DE9382972CE7AFC52EA819669E8B8F7D4C5ECCA1EDE07D971CEA64E5847BBC0E9ACB7B26F07BC769422B8C68A5F04F2B183533C95CC6849A8B98D83F22BC306FF564FE8519A1738AC8DB1F4C55A5B6E84FC02D863C22AF3CBD04E70186C497A240313C107DD74B3D28F2AE6BF95FED3E6EA2CC7EE1767F9E9FCBD5A6EEF77EF61198BD65342E6C10B978595DADA17FBDC83A2; ASP.NET_SessionId=ibxe0t55thibhb45vcgkxmvx; __utmc=63255935
{'ID1':'13','ID2':'2'}
我该如何解决? 谢谢!
【问题讨论】:
-
尝试在 web.confi 上禁用 cacheRolesInCookie 为
<roleManager cacheRolesInCookie="false"- 同时从 IE 中删除您的 cookie,然后重试。 -
我的 web.config 有
我没有在 cookie 中保存角色,我只是保存了用户的 ID。