登录的验证方法
开发工具与关键技术:ASP.NAT MVC
作者:邹贺汗
撰写时间:2019.5.14
登录是大部分平台都需要的一个关键程序,登录所需要的代码也是有简单和复杂的。
这里我写的是比较简单的吧,下面说一下登录需要的几个步骤。
首先在实现登录的效果时要有个自己觉得好的数据库,实现数据库的方法个有不同所以我就不说了。
登录所需要的代码虽然各有不同,但是基础都是一样的。
登录的样式是由个人的需求而改变的,我写的样式是没有验证码的效果图在最后面 。
由于我是没有写验证码的所以我的代码里面就不需要写验证的方法。
登录页面代码如下:
给登录按钮一个id,通过登录按钮的id写个点击事件。
$("#btnSubmit").click(function () {
获取值
var UserNuber = $('#fmLogin [name="UserNuber"]'). val();
var password = $('#fmLogin [name="password"]').val();
判断页面是否填写数据
if (strValIsNotNull(UserNuber) && strValIsNotNull(password)) {
$.post("/Main/UserLogin",{UserNuber: UserNuber, password: password, },
function (msg) {
if (msg == "success") {//跳转到主页面//使用了replace跳转到主页面后不会出现后退按钮
window.location.replace("/Main/Main"); } else {
if (msg == "passwordErro") {
alert('请输入正确的账号或密码');
}
else if (msg == "userNoExsit") { alert('用户不存在'); }
else {alert('登录失败'); }
$("#UserNuber").val("");$("#password").val("");
}
});
}
}页面的代码就是这样了,下面写控制器的代码。
控制器的代码:
public ActionResult UserLogin(PW_User pwUser) {
string strMsg = "fail";//定义一个记录状态的变量
// 获取页面传递的变量
string strUserNuber = pwUser.UserNuber;//用户名
string strPassword = pwUser.Password;//密码
try{
//===判断账号和密码//根据账号查询出一条用户数据//linq 单表查询的写法PW_User dbUser = (from tbUser in myModels.PW_User
where tbUser.UserNuber == strUserNuber && tbUser.ToVoidNo == true
select tbUser).Single(); //结果只能有一条数据,0条或者大于等于2条都会出现异常
string password = strPassword;
if (password == dbUser.Password)
{ //设置session
Session["UserID"] = dbUser.UserID; // 传递 UserID
Session["ServerTime"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); ;//登录时间
strMsg = "success";//登录成功}
else{ strMsg = "passwordErro";//密码错误}
}
catch (Exception e) {
strMsg = "userNoExsit";//没有此用户
Console.Write(e); }//写 Console.Write(e);是为了让catch (Exception e)不出现提示
return Json(strMsg, JsonRequestBehavior.AllowGet); }
写到这代码就差不多了,下面是效果图: