我想在诺基亚e5-00设备上使用asp.net身份验证登录。在explorer,firefox,android设备等下登录proccess成功。但是在诺基亚设备中,即使身份验证成功,HttpContext.Current.User.Identity.IsAuthenticated
也是假的
这是我的登录方法:
public static void Login(User user)
{
HttpResponse Response = HttpContext.Current.Response;
HttpRequest Request = HttpContext.Current.Request;
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
user.Id.ToString(), DateTime.Now, DateTime.Now.AddHours(12), true,
user.Id.ToString());
string data = FormsAuthentication.Encrypt(ticket);
HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, data);
cookie.Expires = ticket.Expiration;
Response.Cookies.Add(cookie);
string redirectUrl = UserPages.Home;
Response.Redirect(redirectUrl, false);
}
稍后,在aspx页面中,当我尝试获取用户时,HttpContext.Current.User.Identity.IsAuthenticated
仍然是错误的。
但是在所有其他浏览器中,IsAuthenticated都是正确的,一切都很好。
所有诺基亚设备都会出现此问题。检查后,我看到存储在诺基亚的cookie,但IsAuthenticated仍然是假的。
导致这个问题的原因是什么?诺基亚设备有什么问题??
答案 0 :(得分:0)
我真的不知道问题是什么,但这就是我解决问题的方法:
而是使用我使用的public static void Login(User user)
:
FormsAuthentication.RedirectFromLoginPage(user.Id.ToString(), true);
同样,我不确定有什么不同,或者为什么这会起作用,而我原来的方法却没有。
如果有人有答案,我会很高兴知道。
感谢。