我有使用这个进入asp.net的Jquery登录控件的代码,但是我很困惑在哪里以及如何简单地验证用户名和密码。
Login.aspx
<head>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script src="Scripts/login.js" type="text/javascript"></script>
</head>
<div id="loginBox">
<form id="loginForm">
<fieldset id="body">
<fieldset>
<label for="email">Email Address</label>
<input type="text" name="email" id="email" />
</fieldset>
<fieldset>
<label for="password">Password</label>
<input type="password" name="password" id="password" />
</fieldset>
<input type="submit" id="login" value="Sign in" />
<label for="checkbox"><input type="checkbox" id="checkbox" />Remember me</label>
</fieldset>
<span><a href="#">Forgot your password?</a></span>
</form>
</div>
Login.js
// Login Form
$(function() {
var button = $('#loginButton');
var box = $('#loginBox');
var form = $('#loginForm');
button.removeAttr('href');
button.mouseup(function(login) {
box.toggle();
button.toggleClass('active');
});
form.mouseup(function() {
return false;
});
$(this).mouseup(function(login) {
if(!($(login.target).parent('#loginButton').length > 0)) {
button.removeClass('active');
box.hide();
}
});
});
现在我怎么能用这个Jquery代码使用我的asp.net身份验证? 在哪里以及如何编写c#身份验证代码? 在jquery中给一些线程也是一个新的bie 感谢
答案 0 :(得分:3)
以下是如何编写一个以
开头的ajax调用var usernameText = $("#usernameTextbox");
var passwordText = $("#passwordTextbox");
$.ajax({
type: 'GET',
url: '/Account/ValidateUser',
async: true,
dataType: 'json',
data:
{
userName: usernameText,
password: passwordText
},
success: function(result) {
if(result){
// redirect user to required page
}
else{
// show error on some div that usrname and password do not match
}
}
});
关于SO的相关问题
答案 1 :(得分:1)
我不确定你要做什么,但为了使用asp.net执行登录,你应该以某种方式将数据发送到服务器。您可以通过两种方式完成此操作:使用表单或AJAX请求发送它。如果要在表单中发送,则应在标记表单中指定操作,例如
<form id="loginForm" action="MySite/Logon">
<!-- fields, labels, etc. -->
</form>
如果您想通过jQuery AJAX请求发送它,您可以使用jQuery.ajax
方法(明确解释为here)和url
参数中的相应网址。
在服务器端,您的身份验证可能如下所示:
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket( // create authentication ticket
1, // id
email, // user name
DateTime.Now, // date of issue
DateTime.Now.AddMinutes(15), // expiration date
true, // true if your ticket will be stored in a cookie, that will be kept by browser across the sessions
userdata, // any text data, that you want to add to ticket (e.g. user roles)
FormsAuthentication.FormsCookiePath // path associated with your ticket
);
string hashedTicket = FormsAuthentication.Encrypt(ticket);
HttpCookie cookie = new HttpCookie(
FormsAuthentication.FormsCookieName, hashedTicket); // adding your ticket to cookie
cookie.Expires = ticket.Expiration;
Response.Cookies.Add(cookie); // sending cookie to client with current response
执行这些操作后,您的客户端将被识别为已通过身份验证,直到他注销或Cookie /票证到期时间到期为止。
希望这些信息对您有所帮助。