诺基亚e5-00上的asp.net身份验证

时间:2011-07-26 09:02:27

标签: .net asp.net authentication mobile nokia

我想在诺基亚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仍然是假的。

导致这个问题的原因是什么?诺基亚设备有什么问题??

1 个答案:

答案 0 :(得分:0)

我真的不知道问题是什么,但这就是我解决问题的方法:

而是使用我使用的public static void Login(User user)

FormsAuthentication.RedirectFromLoginPage(user.Id.ToString(), true);

同样,我不确定有什么不同,或者为什么这会起作用,而我原来的方法却没有。

如果有人有答案,我会很高兴知道。

感谢。