你的位置:首页 > ASP.net教程

[ASP.net教程].net登录的一般模式


思路:

1、检查登录:

private string CheckLogin(HttpContext context){  Model.TUser model = (Model.TUser)context.Session["USERModel"];  if (model == null)  {    return "{\"msg\": \"0\", \"msgbox\": \"当前为退出\"}";  }  else  {    return "{\"msg\": \"1\", \"msgbox\": \"当前为登录\"}";  }}

2、点击登录:

private string Login(HttpContext context){  BLL.TUser _blluser = new BLL.TUser();  string loginname = context.Request.Params["loginname"];  string password = context.Request.Params["password"];  string issave = context.Request.Params["issave"];//是否保存密码  Model.TUser model_user = _blluser.GetModel("UserLogin='" + loginname + "'");  bool isSuccess = false;  string cookiesPassword = "";  //判断 Cookies 是否存在  if (HttpContext.Current.Request.Cookies["password"] != null)  {    cookiesPassword = HttpContext.Current.Request.Cookies["password"].Value;    if (password == cookiesPassword) /// 输入 和 Cookies 密码 一样    {      //登录成功      isSuccess = true;    }  }  //判断输入的密码和数据库的是否匹配  if (!isSuccess)  {    if (password == model_user.PassWord)    {      //登录成功      isSuccess = true;    }    else    {      //登录失败      isSuccess = false;    }  }  if (isSuccess)  {    context.Session["USERModel"] = model_user;  }  else  {    //登录失败 密码不对    return "{\"msg\": \"0\", \"msgbox\": \"密码错误\"}";  }  //要保存,则写入cookie  if (issave == "true")  {    HttpCookie cookieLogin = new HttpCookie("loginname");    cookieLogin.Expires = DateTime.Now.AddDays(10);    cookieLogin.Value = model_user.UserLogin;    HttpContext.Current.Response.Cookies.Add(cookieLogin);    HttpCookie cookiePassword = new HttpCookie("password");    cookiePassword.Expires = DateTime.Now.AddDays(10);    cookiePassword.Value = password;    HttpContext.Current.Response.Cookies.Add(cookiePassword);  }  else  {//设置cookie过期,删除cookie    HttpCookie cookieLogin = new HttpCookie("loginname");    cookieLogin.Expires = DateTime.Now.AddDays(-1);    HttpContext.Current.Response.Cookies.Add(cookieLogin);    HttpCookie cookiePassword = new HttpCookie("password");    cookiePassword.Expires = DateTime.Now.AddDays(-1);    HttpContext.Current.Response.Cookies.Add(cookiePassword);  }  return "{\"msg\": \"1\", \"msgbox\": \"登录成功\"}";}

3、页面刷新时获取用户保存的账户名和密码并免登陆

private string IsSaveUserLogin(HttpContext context){  ///判断 Cookies 是否存在  if (HttpContext.Current.Request.Cookies["loginname"] == null || HttpContext.Current.Request.Cookies["password"] == null)  {    return "{\"msg\":-1, \"msgbox\": \"帐号没保存\", \"loginname\": \"\", \"password\": \"\"}";  }  else  {    string loginname = HttpContext.Current.Request.Cookies["loginname"].Value;    string password = HttpContext.Current.Request.Cookies["password"].Value;    //免登陆    CookieLogin(context, loginname, password);    return "{\"msg\":1, \"msgbox\": \"帐号保存过\", \"loginname\": \"" + loginname + "\", \"password\": \"" + password + "\"}";  }}private void CookieLogin(HttpContext context, string cookiesLoginname, string cookiesPassword){  Model.TUser model_user = new Model.TUser();  BLL.TUser _blluser = new BLL.TUser();  bool isSuccess = false;  ///判断 Cookies 是否存在  if (!string.IsNullOrEmpty(cookiesLoginname) && !string.IsNullOrEmpty(cookiesPassword))  {    model_user = _blluser.GetModel("UserLogin='" + cookiesLoginname + "'");    if (model_user.PassWord == cookiesPassword) /// 数据库 和 Cookies密码 一样    {      //登录成功      isSuccess = true;    }  }  if (isSuccess)  {    //登录成功    context.Session["USERModel"] = model_user;  }  else  {    //登录失败 密码不对    //return "{\"msg\": \"0\", \"msgbox\": \"密码错误\"}";  }}

4、用户退出-清除cookie和session

private string UserExit(HttpContext context){  //清除cookie  //HttpContext.Current.Request.Cookies.Clear();//无效  HttpCookie cookieLogin = new HttpCookie("loginname");  cookieLogin.Expires = DateTime.Now.AddDays(-1);  HttpContext.Current.Response.Cookies.Add(cookieLogin);  HttpCookie cookiePassword = new HttpCookie("password");  cookiePassword.Expires = DateTime.Now.AddDays(-1);  HttpContext.Current.Response.Cookies.Add(cookiePassword);  context.Session["USERModel"] = null;  context.Session.Clear();  return "";}