ASP.NET 2.0 JQuery AJAX登录

ASP.NET 2.0 JQuery AJAX登录,asp.net,jquery,ajax,login,controls,Asp.net,Jquery,Ajax,Login,Controls,我试图弄清楚如何使用Jquery为ASP.NET2.0站点实现AJAX登录。我已经在站点上实现了另一个简单的jQueryAjax应用程序,但是我不确定如何通过AJAX将标准登录控件转换为POST。我应该公开login.aspx页面方法吗?任何帮助都会很好。这里有一些关于如何实现这一点的想法。这不是完整的代码,但它应该足以让您开始正确的轨道 您需要为用户名/密码创建自己的登录表单字段 使用类似以下方法创建用于身份验证的ASMX或WCF Web服务: [WebMethod] public strin

我试图弄清楚如何使用Jquery为ASP.NET2.0站点实现AJAX登录。我已经在站点上实现了另一个简单的jQueryAjax应用程序,但是我不确定如何通过AJAX将标准登录控件转换为POST。我应该公开login.aspx页面方法吗?任何帮助都会很好。

这里有一些关于如何实现这一点的想法。这不是完整的代码,但它应该足以让您开始正确的轨道

您需要为用户名/密码创建自己的登录表单字段

使用类似以下方法创建用于身份验证的ASMX或WCF Web服务:

[WebMethod]
public string AuthenticateUser(string username, string password)
{
    string result = "Invalid Username or Password";
    if(Membership.ValidateUser(userName, password))
    {
        FormsAuthentication.SetAuthCookie(u.UserName, false);
        result = "successful";
    }
    return result;
}
然后,从登录按钮的单击事件中,您可以使用jQuery ajax将用户名/密码发布到Web服务:

$.ajax({
  type: "POST",
  url: "WebService.asmx/AuthenticateUser",
  data: "{username:"+$('#txtUsername').val()+",password:"+$('#txtPassword').val()+"}",
  success: function(result) {
     alert(result);
    //if(result=='successful')
   // redirectUser to the home page
  }
});

使用此解决方案存在一个大的安全问题,即用户名和密码将以纯文本格式发送。因此,您应该使用SSL或以某种方式散列这些数据。

甜甜的。这很有帮助。还有一个问题。有没有办法在会话中存储来自webservice的信息?是的,只需在WebMethod属性中启用会话即可。[WebMethod(EnableSession=true)],您的HTTPContext会话将可用。另外,请查看可用于客户端身份验证的Sys.Services.AuthenticationService javascript代理类-