用form认证写了一个登陆系统,用cookie验证
一直都用得好好的,最近一个月突然出现了一个奇怪的现象,
就是极少数机器用IE无法登陆,写入不了cookie,但绝大部分机器都能正常登陆。
不能登录的机器试了各种方法,清除临时文件夹,更改cookie目录等,都不行
但是装一个非IE核心的其他浏览器比如ff就可以登录.........
不能登录的机器去登陆其他需要写入cookie的论坛又可以正常登陆,单单不能登录我的这个系统
google搜了一下,有个人的情况跟我的情况差不多,但是他的解决方法是因为客户端时间不对,而我检查了一下客户端事件是对的...就是这个帖子:http://topic.csdn.net/u/20070517/10/9420170c-cabb-49df-960f-7e92c9b7c9ed.html
不知道为啥,总不可能每次遇到这种情况就换浏览器啊,虽然重装系统也能解决问题,但是问题到底出在哪里呢,请高手指教
另外附上我写入cookie的代码和web.config里面的部分配置
~~~~~~~~~~~~~~~~~~~~~~~~~
//写cookie部分 FormsAuthenticationTicket tkt;
                string cookiestr;
                HttpCookie ck;
                string UserInfo;
                UserInfo = "asdasdasdasdasdasdasda";
                tkt = new FormsAuthenticationTicket(1, txtUserName.Value, DateTime.Now, DateTime.Now.AddHours(8), true, UserInfo);
                cookiestr = FormsAuthentication.Encrypt(tkt);
                ck = new HttpCookie(FormsAuthentication.FormsCookieName, cookiestr);
                ck.Expires = tkt.Expiration;
                ck.Path = FormsAuthentication.FormsCookiePath;
                Response.Cookies.Add(ck);
                Response.Redirect("index.aspx",false);
//web.config 部分 <authentication mode="Forms">
<forms name="form1" loginUrl="login.aspx" protection="All" path="/" timeout="30"/>
</authentication>
<authorization>
<deny users="?"/>
<allow users="*"/>
</authorization>

解决方案 »

  1.   

    很多人的浏览器缓存设置很低,只有1m,所以基本不保留cookie
    对于这种人,谁也拿他没有办法
      

  2.   

    问题是那种机器可以正常登陆其他论坛,比如duowan
    也能保存百度等cookie ,我用cookie查看工具看了的.
      

  3.   

    .net 可以把cookie转换到url上面去。
      

  4.   

    极少数机器用IE无法登陆,写入不了cookie
    是不是浏览器安全设置过高?这个原因会导致Cookie无法写入
      

  5.   

    真郁闷,又出现一台这种机器没办法只有给他装firefox了
      

  6.   

    <authentication mode="Forms">
          <forms cookieless="AutoDetect"/>
    自动检测 当用户不使用cookie时自动使用session
    </authentication>