实现用户的登录功能,这里举一个个人和非个人用户的登录的例子

前台代码:

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

  这就是用户的登陆,希望对你有帮助!

C#中通过js实现个人用户和非个人用户的登陆的更多相关文章

  1. CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动

    CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动1.关于mysql?MySQL是一个关系型数据库管理 ...

  2. zzw原创_非root用户下安装nginx

    想自己安装nginx,又不相用到root用户. 非root用户下(本文为用户bdctool)来ngnix安装,要依赖pcre库.zlib库等, 1. 下载依赖包:下载地址 pcre(www.pcre. ...

  3. MVC学习随笔----如何在页面中添加JS和CSS文件

    http://blog.csdn.net/xxjoy_777/article/details/39050011 1.如何在页面中添加Js和CSS文件. 我们只需要在模板页中添加JS和CSS文件,然后子 ...

  4. 在.Net中执行js

    在.Net中执行js 利用Noesis.Javascript开源组件可以做到在.net中执行js脚本,同时js脚本也能调用C#函数.这个组件的获得方式:在NuGet中输入搜索"Noesis& ...

  5. 纯静态界面中(html)中通过js调用dll中的方法从数据库中读取数据

    最近接到一个离职员工的任务,一个搭好框架的ERP系统,看了两天,说一下看到的东西,整个项目目录中我没发现一个.aspx后缀的文件,全是静态HTML文件,之后发现他用的jquery简直看的头疼,不过大概 ...

  6. vue-cli脚手架build目录中check-versions.js的配置

    转载自:https://www.cnblogs.com/ye-hcj/p/7074363.html 本文介绍vue-cli脚手架build目录中check-versions.js的配置 本文件是用来检 ...

  7. legend---十二、js中的js语句和函数和ready函数的关系是什么

    legend---十二.js中的js语句和函数和ready函数的关系是什么 一.总结 一句话总结: 函数和全局变量不必放到ready函数中 语句(调用函数和全局变量)的必须放到ready函数中 1.在 ...

  8. amazeui中的js插件有哪些(详解功能)

    amazeui中的js插件有哪些(详解功能) 一.总结 一句话总结: 二.amazeui中的js插件有哪些 1.UI 增强 警告框Alert 按钮交互Button 折叠面板Collapse 下拉组件D ...

  9. ZK中使用JS读取客户端txt文件内容问题

    最近写一个需求时遇到一个问题,用户需要通过点击一个按钮直接读取他自己电脑上D盘的一个txt文件内容显示到页面,因为项目现在是用ZK写的.我对于ZK也是刚刚了解不就,很多都还不是很熟.起初我是想用io流 ...

随机推荐

  1. [转载]java中Date,SimpleDateFormat

    一.Java中的日期概述: 日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题. 在Java ...

  2. 关于JS闭包的一点理解

    通常来讲,闭包通常是指函数内部可以访问到外部作用域的一个过程. 一.广义的定义:任何函数都产生了闭包. 二.狭义的定义:函数内部能访问到其他变量函数的作用域. 我们来看个例子 var a = 10; ...

  3. HDU - 1087 Super Jumping!Jumping!Jumping!(dp求最长上升子序列的和)

    传送门:HDU_1087 题意:现在要玩一个跳棋类游戏,有棋盘和棋子.从棋子st开始,跳到棋子en结束.跳动棋子的规则是下一个落脚的棋子的号码必须要大于当前棋子的号码.st的号是所有棋子中最小的,en ...

  4. yum http源

    统一集群内,有一个yum本地源即可,集群内其他机器的yum可配成http源 方法: yum1:本地yum源节点 yum2:集群内其他节点 yum1: ①service httpd start ②mki ...

  5. scrapy——3 crawlSpider——爱问

    scrapy——3  crawlSpider crawlSpider 爬取一般网站常用的爬虫类.其定义了一些规则(rule)来提供跟进link的方便的机制. 也许该spider并不是完全适合您的特定网 ...

  6. selenium等待

    简介 在selenium操作浏览器的过程中,每一次请求url,selenium都会等待页面加载完成以后, 才会将操作权限在交给我们的程序. 但是,由于ajax和各种JS代码的异步加载问题,当一个页面被 ...

  7. 使用Eclipse 创建Spring Boot项目

    一.为什么要使用 Spring Boot ? Spring Boot解决的问题 (1) Spring Boot使编码变简单 (2) Spring Boot使配置变简单 (3) Spring Boot使 ...

  8. PatentTips - Indexes of graphics processing objects in GPU commands

    BACKGROUND A graphics processing unit (GPU) is a specialized electronic device that is specifically ...

  9. mongodb之用户/认证/角色/权限管理

    前言 用户权限管理很重要,只给需要的权限,防止应用系统漏洞导致脱库 认证和授权 Authentication 认证识别,解决我是谁 Authorization 操作授权,我能做什么 认证机制 MONG ...

  10. 开源GIS软件 4

    空间数据操作框架 Apache SIS Apache SIS 是一个空间的框架,可以更好地搜索,数据聚类,归档,或任何其他相关的空间坐标表示的需要. kvwmap kvwmap是一个采用PHP开发的W ...