2009-05-18 45 views
6

我想弄清楚如何为JQuery使用ASP.NET 2.0网站实现AJAX登录。我已经在网站上实现了其他简单的Jquery AJAX应用程序,但我不确定如何通过AJAX将标准登录控件转换为POST。我应该公开login.aspx页面方法吗?任何帮助都会很棒。ASP.NET 2.0 JQuery AJAX登录

回答

8

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

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

[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服务:

与此类似的方法创建用于认证的ASMX或WCF WebService的

$.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 
    } 
}); 
+0

甜。这有很大帮助。这是另一个问题。有没有什么办法从web服务中存储会话信息? – GreenEggs 2009-05-19 15:59:25

1

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