我正在尝试使用
jquery实现身份验证,以对页面方法发出ajax请求,该方法将对用户进行身份验证.这是我在下面编写的基本示例.实际应用程序更复杂,并且不使用页面方法来处理身份验证.问题是User对象中的isAuthenticated属性始终为false.这个项目是在vb中完成的,但我不介意答案/代码是否在c#中.
Ajax请求:
$.ajax({ type: 'POST',url: 'default.aspx/authenticateUser',data: "{ username: '" + username + "',password: '" + password + "' }",contentType: "application/json; charset=utf-8",dataType: "json",success: function (d) { if (d.d == true) { window.location.href = '/registrants/home.aspx'; } } });
<WebMethod()> Public Shared Function authenticateUser(ByVal username As String,ByVal password As String) As Boolean If (isAuthenticated(username,password)) Then Dim ticket As New FormsAuthenticationTicket(1,username,DateTime.Now,DateTime.Now.AddMinutes(3),False,"member") Dim cookie As New HttpCookie(FormsAuthentication.FormsCookieName,FormsAuthentication.Encrypt(ticket)) HttpContext.Current.Request.Cookies.Add(cookie) Return True End If Return False End Function