.net登录的一般模式
思路:
1、检查登录:
1 2 3 4 5 6 7 8 9 10 11 12 | 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、点击登录:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | 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、页面刷新时获取用户保存的账户名和密码并免登陆
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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 "" ; } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步