当前位置:编程学习 > C#/ASP.NET >>

关于Forms验证,在WIN7下面自动失效的问题!

最近发现了一个问题 就是 。NET的 Forms 验证模式 在WIN7 , IE7.0++ 上会出现 输入用户名 密码登陆成功了 ,但是刚操作就自动退出来了 , 有高手遇到过这个问题么 ?

能解决本问题  领加200 相送 !   --------------------编程问答-------------------- 没啊,我也用的win7和ie8都没出现过啊 --------------------编程问答-------------------- 貌似你的问题和iis有关,和操作系统无关 --------------------编程问答-------------------- 换个浏览器试试呢?
或者尝试改一下IE的设置。 --------------------编程问答-------------------- Forms 验证 其实是基于cookie的验证

看看是否设置了cookie清空时间.或者自动过期 --------------------编程问答-------------------- 检查一下web.config的authentication配置节 --------------------编程问答-------------------- 要使用 Forms 验证就必须开启 Forms 验证,开启的方式有很多,

可以通过 IIS 来开启,

可以通过 web.config 配置来开启,

也可以通过 ASP.NET 网站管理工具来开启,

win7系统的话 到C:\Users\XiaoZhen\AppData\Roaming\Microsoft\Windows\Cookies
下看下 具体的cookie有没有写进去


具体可以参考 http://www.cnblogs.com/QinBaoBei/archive/2010/03/01/1675682.html --------------------编程问答-------------------- 本机win7 + IE7

未发现这个问题 --------------------编程问答-------------------- 登录成功后,要在Session里面把用户的身份信息保存起来。每次登录,本来就会都进行身份验证。第一次验证时把验证后的信息存在session里面,下次其它页面操作,再验证时判断一下,如果发现session里面有就直接从session读取,不需要用户重新输入验证信息。


--------------------编程问答-------------------- 完全是你自己程序的问题,和环境没有任何的关系。 --------------------编程问答-------------------- 学习+帮顶 --------------------编程问答-------------------- 你有正确设置认证的cookies吗?
--------------------编程问答--------------------
Win7系统 测试Form成功!
在C:\Users\XiaoZhen\AppData\Roaming\Microsoft\Windows\Cookies
下 建立了一个Cookies
详情参考....
http://www.cnblogs.com/QinBaoBei/archive/2010/03/01/1675682.html --------------------编程问答-------------------- 你的的意思是要把有问题的机器里面的COOKIES文件 拷出来 看看么?

引用 11 楼 cpp2017 的回复:
你有正确设置认证的cookies吗?
--------------------编程问答-------------------- 我是说这个
System.Web.Security.FormsAuthentication.SetAuthCookie
--------------------编程问答-------------------- 慕容大哥 不好意思 刚刚看到 ! 
    public static void SetFormsCookie(String userName, String roles, Int32 keepDays)
    {
        HttpContext context = HttpContext.Current;
        if (null != context)
        {
            FormsAuthentication.SetAuthCookie(userName, true);
            FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
                1,
                userName,
                DateTime.Now,
                DateTime.Now.AddDays(keepDays),
                true,
                roles,
                FormsAuthentication.FormsCookiePath);
            String hash = FormsAuthentication.Encrypt(ticket);
            HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, hash);
            if (ticket.IsPersistent) cookie.Expires = ticket.Expiration;
            context.Response.Cookies.Add(cookie);
        }
    }

这个是我写的 登陆类  您 和 各位高手帮忙看看 谢谢了 ! --------------------编程问答-------------------- 我也遇到过这个问题,IE8登录成功,但刷新或点任意链接就会自动退出。
我的代码跟你的类似,把FormsAuthentication.SetAuthCookie(userName, true);这行注释掉试试。这行之下的操作其实就是SetAuthCookie相同的效果,只是你加入了自定义的roles
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,