using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using ZG.Common;

using System.Data;

namespace WebApplication

{

public partial class Login:System.Web.UI.Page

{

protected void Page_Load(object sender,EventArgs e)

{

}

///<summary>

///登录按钮

///</summary>

///<param name="sender"></param>

///<param name="e"></param>

protected void btnLogin_Click(object sender,EventArgs e)

{

//用户表 Sys_User 列PersonStatus为“正常”才可登录,不然提示账户状态为PersonStatus内的内容

//列PersonCode为用户名Password为密码

//数据库中PassWord保存的为加密后的 字符串.Ext_DecryptString();为解密Ext_EncryptString();为加密

string userName=txtUserName.Text.Trim();

string passWord=txtPwd.Text.Trim();

//.Ext_IsNullOrEmpty()是在另一个文件中自己编写的函数,用于判断字符串是否为空字符

if(userName.Ext_IsNullOrEmpty())

{

ScriptHelper.ShowAlertScript("请输入用户名!");

return;

}

if(passWord.Ext_IsNullOrEmpty())

{

ScriptHelper.ShowAlertScript("请输入密码!");

return;

}

//在Sys_User 表中筛选出用户名为userName的数据数量,如果为0表示没有该用户,为1表示有

DataSet ds=SqlHelper.GetData("select count(*)from Sys_User where PersonCode='"+userName+"'");

if(ds.Tables[0].Rows[0][0].ToString() !="1")

{

ScriptHelper.ShowAlertScript("用户名不存在!"0;

return;

}

//在SYS_User表中筛选出用户名为userName 的PersonStatus值

DataSet dsStatus=SqlHelper.GetData("select PersonStatus from Sys_User where PersonCode'"+userName+"'");

//取出dsStatus(小数据库)中([0])第一张表的第一行中名为PersonStatus的列的值

string personStatus=dsStatus.Tables[0].Rows[0]["PersonStatus"].ToString();

if(personStatus !="正常")

{

ScriptHelper.ShowAlertScript("用户状态不正确:"+personStatus);

return;

}

//注意密码的加密,空字符加密后便不是空字符了。数据库中的密码是加密后的字符,实际比较中需要用实际输入字符经加密得到的字符与数据库中的比较

//判断密码 法一

//string sql="select *from Sys_User where PersonCode='{0}' and Password='{1}'";

//DataSet dsUser=SqlHelper.GetData(string.Format(sql,userName,passWord.Ext_EncryptString()));

//if(dsUser.Tables[0].Rows.Count !=1)

//{

//ScriptHelper.ShowAlertScript("密码不正确!");

//return;

//}

//判断密码 法二

string sql="select *from Sys_User where PersonCode='{0}'";

DataSet dsUser=SqlHelper.GetData(string.Format(sql,UserName));

if(dsUser.Tables[0].Rows[0]["PassWord"].ToString() !=passWord.Ext_EncryptString())

{

ScriptHelper.ShowAlertScript("密码不正确!");

return;

}

Session["UserName"].dsUser.Tables[0].Rows[0]["PersonCode"].ToString();

Session["LoginUser"]=dsUser.Tables[0].Rows["PersonName"].ToString();

Session["UserID"]=dsUser.Tables[0].Rows[0]["ItemID"].ToString();

//如果登录成功,跳转到首页

Response.Redirect("index.aspx");

}

}

}

利用DataSet部分功能实现网站登录的更多相关文章

  1. 利用MYSQL的函数实现用户登录功能,进出都是JSON(第二版)

    利用MYSQL的函数实现用户登录功能,进出都是JSON(第二版) CREATE DEFINER=`root`@`%` FUNCTION `uc_session_login`( `reqjson` JS ...

  2. cookielib和urllib2模块相结合模拟网站登录

    1.cookielib模块 cookielib模块的主要作用是提供可存储cookie的对象,以便于与urllib2模块配合使用来访问Internet资源.例如可以利用 本模块的CookieJar类的对 ...

  3. Java模拟网站登录02【转载】

    如何用Java代码模拟一些如百度.QQ之类的网站登录?有两个方式,一是发送模拟请求,二是模拟浏览器操作,而这两种方式恰好在Java有开源实现,在这里介绍一个工具包,它是家喻户晓的HttpClient. ...

  4. PHP操作实现一个多功能购物网站

    PHP操作实现一个多功能购物网站 一.需要实现的页面: Index.aspx:浏览商品页面,显示商品列表,用户可以点击“加入购物车“. ViewCart.aspx:查看购物车页面,显示已购买的商品信息 ...

  5. 利用 squid 反向代理提高网站性能(转载)

    本文在介绍 squid 反向代理的工作原理的基础上,指出反向代理技术在提高网站访问速度,增强网站可用性.安全性方面有很好的用途.作者在具体的实验环境下,利用 DNS 轮询和 Squid 反向代理技术, ...

  6. 转-利用Oracle审计功能来监测试环境的变化

    http://blog.csdn.net/luowangjun/article/details/5627102利用Oracle审计功能来监测试环境的变化 做过测试的人都应该会碰到这样的情况:测试发现的 ...

  7. discuz论坛与其它网站登录注册整合

    discuz论坛与其它网站登录注册整合 本文以discuz 7.0.0 php版本的论坛与 .net 2.0的网站注册登录整合为类.没有采用uc_center或第三方插件.以另类的方式实现.此方法实现 ...

  8. 如何利用tomcat和cas实现单点登录(1):配置tomcat的ssl和部署cas

    如何利用tomcat和cas实现单点登录,借鉴了网上的很多教程,主要分为以下几个步骤: 一:下载好cas,tomcat之后,首先配置tomcat: 用鼠标右键点击"计算机"→选择& ...

  9. Apache:如何利用.htaccess文件对PHP网站或文件进行伪静态处理

    来源:http://www.ido321.com/1123.html 今天get了一招:利用.htaccess文件对PHP网站或文件进行伪静态处理. 一.检查服务器是否支持伪静态处理: 必 须要空间支 ...

随机推荐

  1. hdu 4096 判断路径

    思路:将每个关系当成一条有向边,查询时就判断之间存在路径. #include<iostream> #include<cstdio> #include<cstring> ...

  2. 论文笔记《Fully Convolutional Networks for Semantic Segmentation》

    一.Abstract 提出了一种end-to-end的做semantic segmentation的方法,也就是FCN,是我个人觉得非常厉害的一个方法. 二.亮点 1.提出了全卷积网络的概念,将Ale ...

  3. bzoj2438 杀人游戏 Tarjan强联通

    [bzoj2438][中山市选2011]杀人游戏 Description 一位冷血的杀手潜入 Na-wiat,并假装成平民.警察希望能在 N 个人里面,查出谁是杀手.警察能够对每一个人进行查证,假如查 ...

  4. js 一/二维数组排序

    JavaScript中数组排序方法 用到的最多的当然是封装好的sort()方法了 一:sort()方法怎么使用? sort方法并不像我们想的那么容易使用,不是单纯的arr.sort()就行了,需要我们 ...

  5. python实现贪吃蛇

    贪吃蛇的算法还是比较简单的,蛇的移动我是通过不停添加一个head方块,然后判断应该加到蛇头的哪个方向,加完后删掉蛇尾就行了,如果吃到食物就不删蛇尾. 只是一个贪吃蛇只需要70行代码左右就可以了,后来又 ...

  6. HDU3538 A sample Hamilton path

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission( ...

  7. 洛谷P2114起床困难综合征

    从高位到低位按位枚举,贪心.如果该位填1比填0结果优且填1不会超出m限制,那就填1,否则填0 /*by SilverN*/ #include<iostream> #include<c ...

  8. BZOJ【1606】购买干草

    1606: [Usaco2008 Dec]Hay For Sale 购买干草 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 859  Solved: 63 ...

  9. The type or namespace name 'Html' does not exist in the namespace 'System.Web.Mvc' (are you missing an assembly reference?)

    The type or namespace name 'Html' does not exist in the namespace 'System.Web.Mvc' (are you missing ...

  10. 关于百度富文本编辑器UEdit的初始化内容失败问题

    百度富文本编辑器毫无疑问是强大的,但也会出问题.这个问题是在脚本中普遍存在的,由异步性导致的加载顺序问题. 我们使用 var ue = UE.getEditor('editor', {}); 创建实例 ...