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

前台代码:

<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. Python 字符串和数字

    Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的数据 ...

  2. CA认证相关

    目录 CA认证相关 基本概念 CA认证相关 公钥私钥详解>> 基本概念 密钥对: 在非对称的加密技术中心, 有两种密钥, 分为私钥和公钥,私钥 --RSA算法-->公钥. 公钥: 公 ...

  3. Maven学习总结(9)——使用Nexus搭建Maven私服

    1 . 私服简介 私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件.有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库:否则,私服请求外部 ...

  4. Excel 2010/2013/2016在鼠标右键新建xls或xlsx文件后,打开报错“无法打开文件”“文件格式或文件扩展名无效”

    近段时间,陆续有两个同事先后出现同样的问题(在Excel多个版本都可能出现),问题描述: 当用鼠标右键在任意文件夹或电脑桌面“新建”→“ Microsoft Excel 工作表”,再用鼠标双击打开这个 ...

  5. SCU Censor

    Censor frog is now a editor to censor so-called sensitive words (敏感词). She has a long text p . Her j ...

  6. Windows读取NXP MiFare Ultralight C类型NFC卡片的信息

    1,读取 我们需要外接一个NFC Reader让Windows可以读取NFC卡片的内容. 因为特殊原因,我们选择了Sony rc-s380 NFC Reader.相关介绍 我们需要下载并安装NFC P ...

  7. 如何实现在scrapy调试爬虫

    # -*- coding:utf-8 -*- from scrapy.cmdline import execute import sys import os '''在爬虫文件夹下面自定义一个main. ...

  8. shell函数返回值

    1.用return作为函数的退出状态,然后通过echo $?来得到函数返回值,注意,return返回的值限定为0-255. 例子: #! /bin/bash sum() { let "z=$ ...

  9. css3中 弹性盒模型布局之box-flex

    box-flex:也就是让子容器针对父容器的宽高属性依照一定的规则来划分 Eg: html代码: <div class="wrap"> <div class=&q ...

  10. POJ 1128 Frame Stacking(拓扑排序&#183;打印字典序)

    题意  给你一些矩形框堆叠后的鸟瞰图  推断这些矩形框的堆叠顺序  每一个矩形框满足每边都至少有一个点可见  输入保证至少有一个解 按字典序输出全部可行解 和上一题有点像  仅仅是这个要打印全部的可行 ...