关于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文件 拷出来 看看么?
--------------------编程问答-------------------- 我是说这个
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