C#中通过js实现个人用户和非个人用户的登陆
2015-10-26 15:49
495 查看
实现用户的登录功能,这里举一个个人和非个人用户的登录的例子
前台代码:
引用JS文件lo_re.js(判断为不为空,为空的话提示消息):
/JsData/userlogin.ashx的文件中(这是一个判断的过程,确认传过来的值是登陆还是别的,如果是登陆的话,验证用户名和密码并返回数据):
这就是用户的登陆,希望对你有帮助!
前台代码:
<ul class="login_list clearfix"> <li> <input class="input_one" type="text" id="txtusername" placeholder="请输入帐号"> </li> <li> <input class="input_two" type="password" id="txtuserpwd" placeholder="请输入密码"> </li> <li class="forget"> <input type="checkbox"> <span> 记住用户名</span > </li> <li class="dis"> <input class="check" placeholder="验证码" type="text" /> <img src="" /> </li> <li class="lastt">< a class ="fr" href ="/about/zhmm.html" target ="_blank">忘记密码?</a ><span> 没有帐号?</span ><a class="zc" href="/reg.html" target="_blank"> 注册</a ></li> <li class="msg">< em id ="msg"></em></ li> <li class="dr">< a href ="javascript:void(0);" onclick ="userlogin();" class="un"> 登录</a ></li> </ul>
引用JS文件lo_re.js(判断为不为空,为空的话提示消息):
function userlogin() { var UserName=$("#txtusername" ); if($.trim(UserName.val())==""){ UserName.focus(); $( "#msg").html(" 帐号不能为空! "); return; } else{ $( "#msg").html("" ); } var UserPwd=$("#txtuserpwd" ); if($.trim(UserPwd.val())=="" ){ UserPwd.focus(); $( "#msg").html(" 密码不能为空! "); return; } else{ $( "#msg").html("" ); } $.post( "/JsData/userlogin.ashx" , { action: "login", username: UserName.val(),userpwd:UserPwd.val(), time: new Date().getTime() }, function(msg) { var data = eval("(" + msg + ")"); var state=parseInt(data[0].state); if(state==1){ if(data[0].UserType=="0" ){ //非个人用户 $.cookie( "UserType", "0" , { path: "/" }); $.cookie( "UserName", data[0].UserName, { path: "/" }); } else{// 个人用户 alert("恭喜您,登陆成功"); //登陆完成之后,会弹出此消息框提示(要在判断用户名、密码是否正确之后才能弹出此消息框) $.cookie( "UserType", "1" , { path: "/" }); $.cookie( "UserID", data[0].id, { path: "/" }); } location.href= "/"; } else{ $( "#msg").html(" 账号或密码错误! "); } }); }
/JsData/userlogin.ashx的文件中(这是一个判断的过程,确认传过来的值是登陆还是别的,如果是登陆的话,验证用户名和密码并返回数据):
usersDAL ud = new usersDAL (); protected string action = CRequest.GetString( "action"); schoolsDAL sd = new schoolsDAL(); schoolsModel sm = new schoolsModel(); protected int cookie = CRequest.GetInt( "cookie",1); protected string username = CRequest.GetString( "username"); public void ProcessRequest(HttpContext context) { if (action == "login" ) { if (username.IndexOf("@" ) != -1) { login(context); } else { wxlogin(context); } } else if (action == "chklogin") { chklogin(context); } else if (action == "logout") { logout(context); } else if (action == "autologin") { autologin(context); } } /// <summary> /// 获取用户登陆状态 /// </summary> private void chklogin(HttpContext context) { StringBuilder sb = new StringBuilder(); if (DoUser .GetUserType() != "") { if (DoUser .GetUserType() == "1") { sb.Append( "[" + GetUserInfo(int .Parse(DoUser.GetUserID())) + "]"); } else if (DoUser.GetUserType() == "0") { string userid = schoolsDAL .GetUserId(DoUser.GetUserName()); sb.Append( "[" + GetWxinfo(int .Parse(userid)) + "]"); } else { sb.Append( "[{\"state\":\"0\"}]" ); } } else { sb.Append( "[{\"state\":\"0\"}]" ); } context.Response.Write(sb.ToString()); context.Response.End(); } private void logout(HttpContext context) { DoClass.RemoveUserCookie(); DoSession.DelALL(); context.Response.Write( "ok"); } private void login(HttpContext context) { StringBuilder sb = new StringBuilder(); string username = CRequest .GetString("username"); string userpwd = CRequest .GetString("userpwd"); int UserID=ud.ChkLogin(username, encrypt.EncryptMd5(userpwd)); if (UserID > 0) { DoUser.SetUserType("1" );//cookie 用户状态 1为个人 0 为非个人 DoUser.SetUserID(UserID.ToString()); sb.Append( "{\"state\":\"1\",\"UserType\":\"1\",\"id\":\"" + UserID + "\",\"UserName\":\"" + username + "\"}"); } else { sb.Append( "{\"state\":\"0\"}" ); } context.Response.Write( "[" + sb.ToString() + "]" ); context.Response.End(); } private void wxlogin(HttpContext context) { StringBuilder sb = new StringBuilder(); string username = CRequest .GetString("username"); //string userid = schoolsDAL.GetUserId(username); string userpwd = CRequest .GetString("userpwd"); int UserID=sd.ChkLogin(username, encrypt.EncryptMd5(userpwd)); if (UserID > 0) { DoUser.SetUserType("0" );//cookie 用户状态 1 为个人 0 为非个人 DoUser.SetUserName(username); sb.Append(GetWxinfo(UserID)); } else { sb.Append( "{\"state\":\"0\"}" ); } context.Response.Write( "[" + sb.ToString() + "]" ); context.Response.End(); } private void autologin(HttpContext context) { string username = sd.AutoLogin(); if (username != "" ) { DoUser.SetUserType("0" );//cookie 用户状态 1 为个人 0 为非个人 DoUser.SetUserName(username); int userid = Convert .ToInt32(schoolsDAL.GetUserId(username)); context.Response.Write(GetWxinfo(userid)); } } private string GetUserInfo(int userid) { string username = usersDAL .GetUserName(userid); StringBuilder sb = new StringBuilder(); sb.Append( "{\"state\":\"1\",\"UserType\":\"1\",\"id\":\"" + userid + "\",\"UserName\":\"" + username + "\"}"); return sb.ToString(); } private string GetWxinfo(int userid) { StringBuilder sb = new StringBuilder(); sm = sd.GetModel(userid); if (sm != null ) { string tel = peopleDAL .GetAdminTel(sm.adduser.ToString()); sb.Append( "{\"state\":\"1\",\"UserType\":\"0\",\"id\":\"" + userid + "\",\"UserName\":\"" + username + "\",\"SchoolName\":\"" +sm.schoolname+"\",\"SchoolType\":\""+sm.is_off+"\",\"Tel\":\"" +tel+"\"}"); } return sb.ToString(); } public bool IsReusable { get { return false ; } }
这就是用户的登陆,希望对你有帮助!
相关文章推荐
- 【js】JSON.stringify 语法实例讲解
- js中的原形链继承机制
- JavaScript
- JavaScript 页面模板引擎
- [转]JS学习之正则表达式
- HTML倒计时JS
- js this关键字
- 去掉jsp编译后的空格
- js基本应用
- jsp获取后台返回的对象中包含的list以及el获取后台json对象并且解析
- ajax 和jsonp 不是一码事 细读详解
- 常用排序算法的JS实现
- MFC JSON解析-开源jsoncpp
- html模板与json数据交互
- Javascript use strict模式和对象
- js中的this关键字详解
- 在JSP中动态生成随机验证码,登录时后台校验验证码,以及如何避免同一个验证码被重复提交爆破密码
- JS调试加断点
- WebGL With Three.js – Lesson 6(转)
- js的运用