您的位置:首页 > Web前端 > JavaScript

C#中通过js实现个人用户和非个人用户的登陆

2015-10-26 15:49 495 查看
实现用户的登录功能,这里举一个个人和非个人用户的登录的例子
前台代码:

<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 ;
}
}


  这就是用户的登陆,希望对你有帮助!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: