using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Web;
5 using System.Web.UI;
6 using System.Web.UI.WebControls;
7 using System.Data;
8
9 public partial class _Default : System.Web.UI.Page
10 {
11 protected void Page_Load(object sender, EventArgs e)
12 {
13 if (!IsPostBack)
14 {
15 //读取保存的Cookie信息
16 HttpCookie cookies = Request.Cookies["USER_COOKIE"];
17 if (cookies != null)
18 {
19 //如果Cookie不为空,则将Cookie里面的用户名和密码读取出来赋值给前台的文本框。
20 this.txtUserName.Text = cookies["UserName"];
21 this.txtPassword.Attributes.Add("value", cookies["UserPassword"]);
22 //这里依然把记住密码的选项给选中。
23 this.ckbRememberLogin.Checked = true;
24 }
25 }
26 }
27
28 protected void ASPxButton1_Click(object sender, EventArgs e)
29 {
30 string UserName = txtUserName.Text;
31 string Password = txtPassword.Text;
32 //这个UserTable是数据层获取的用户信息。
33 DataTable UserTable = new UserManager().GetUserTable(UserName);
34 //UserTable.Rows.Count>0说明数据库中有对应的记录,可以继续执行。
35 if (UserTable.Rows.Count > 0)
36 {
37 //如果从Cookie里面获取的密码和数据库里面的密码一致则算是登录成功
38 if (UserTable.Rows[0]["Password"].ToString() == Password)
39 {
40 HttpCookie cookie = new HttpCookie("USER_COOKIE");
41 if (this.ckbRememberLogin.Checked)
42 {
43 //所有的验证信息检测之后,如果用户选择的记住密码,则将用户名和密码写入Cookie里面保存起来。
44 cookie.Values.Add("UserName", this.txtUserName.Text.Trim());
45 cookie.Values.Add("UserPassword", this.txtPassword.Text.Trim());
46 //这里是设置Cookie的过期时间,这里设置一个星期的时间,过了一个星期之后状态保持自动清空。
47 cookie.Expires = System.DateTime.Now.AddDays(7.0);
48 HttpContext.Current.Response.Cookies.Add(cookie);
49 }
50 else
51 {
52 if (cookie["USER_COOKIE"] != null)
53 {
54 //如果用户没有选择记住密码,那么立即将Cookie里面的信息情况,并且设置状态保持立即过期。
55 Response.Cookies["USER_COOKIE"].Expires = DateTime.Now;
56 }
57 }
58 //ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Script", "<script>alert('" + ex.Message + "')</script>", false);
59
60 Response.Redirect("Default.aspx");
61
62 }
63 }
64 }
65 }

(转)ASP.NET里面简单的记住用户名和密码的更多相关文章

  1. 【转】ASP.NET Cookies简单应用 记住用户名和密码

    不要试图给Password类型的TextBox赋值! 在asp.net中,不要试图给Password类型的TextBox控件赋值! 无论是在设计或是运行时,都不可以的. 猜测的原因是,password ...

  2. ASP.NET中登录时记住用户名和密码(附源码下载)--ASP.NET

    必需了解的:实例需要做的是Cookie对象的创建和对Cookie对象数据的读取,通过Response对象的Cookies属性创建Cookie,通过Request对象的Cookies可以读取Cookie ...

  3. git 记住用户名和密码

    git 记住用户名和密码 在使用 git 时,如果用的是 HTTPS 的方式,则每次提交,都会让输入用户名和密码,久而久之,就会感觉非常麻烦,那么该如何解决呢? 1. 使用 SSH,添加 ssh ke ...

  4. TortoiseGit:记住用户名和密码

    1.背景: 我们在使用 tortoisegit 工具时会无可避免的经常性 pull 和 push,这时通常要输入用户名和密码,由于麻烦,就有人提出了记住用户名和密码的需求... ... 2.设置: [ ...

  5. OpenVPN 如何记住用户名和密码

    最近在使用OpenVPN,但是没有记住用户名和密码功能,太坑人,研究一下发现是可以的. 1. 在OpenVPN安装目录下\OpenVPN\config文件夹中找到vpnserver.ovpn文件. 2 ...

  6. Tortoisegit 记住用户名和密码

    Tortoisegit 记住用户名和密码方法: [Windows系统] 当你配置好git后,在 C:\Documents and Settings\Administrator\ 目录下有一个  .gi ...

  7. 通过jquery.cookie.js实现记住用户名、密码登录功能

    Cookies 定义:让网站服务器把少量数据储存到客户端的硬盘或内存,从客户端的硬盘读取数据的一种技术: 下载与引入:jquery.cookie.js基于jquery:先引入jquery,再引入:jq ...

  8. jQuery cookie 实现记住用户名和密码功能

    jQuery cookie 实现记住用户名和密码功能 HTML代码 <div class="wrap"> <div class="line-top&qu ...

  9. JavaWeb登录、注销、退出、记住用户名和密码

    应该是保存在Cookie里,session是放在服务器的内存里的.在用户关闭了网页窗口后,session就清空了.而Cookie是保存在用户的IE临时文件夹中的,再次登录时,读取其中的值传给服务器. ...

随机推荐

  1. 10个重要的Linux ps命令实战

    Linux作为Unix的衍生操作系统,Linux内建有查看当前进程的工具ps.这个工具能在命令行中使用. PS 命令是什么 查看它的man手册可以看到,ps命令能够给出当前系统中进程的快照.它能捕获系 ...

  2. Sample rate 理解

    在Gnuradio中,我们可以看到很多模块中都有Sample rate 这个概念 然后看到一个说明 Any processing block's 'Sample Rate' parameter is ...

  3. select查询的性能

    为什么忘记commit也会造成select查询的性能问题 今天遇到一个很有意思的问题,一个开发人员反馈在测试服务器ORACLE数据库执行的一条简单SQL语句非常缓慢,他写的一个SQL没有返回任何数据, ...

  4. 转载:关于 Token,你应该知道的十件事

    关于 Token,你应该知道的十件事 原文地址:http://alvinzhu.me/blog/2014/08/26/10-things-you-should-know-about-tokens/ 原 ...

  5. 【Git】Git教程

    http://www.liaoxuefeng.com/

  6. BROCADE 300和MD3200扩展柜FC SAN,截图

    这表示俺玩过,其实,这个光交换机在只有一个共享存储的情况下,可用可不用. FC BROCADE只是为了方便后期扩展. FC SAN之类的识别不靠IP,因为不是IP SAN嘛.但也是自己的识别体系.

  7. ANDROID与.Net之间JSON实践

    Asp.Net端: JsonHelper.cs using System.Runtime.Serialization.Json; using System.IO; using System.Text; ...

  8. LINUX下中文语言包的安装(转)

    在安装盘上已经有各种语言包了,我们只需要找到他们,并安装就可以了.中文的是fonts-chinese-3.02-9.6.el5.noarch.rpmfonts-ISO8859-2-75dpi-1.0- ...

  9. 【HDOJ】5154 Harry and Magical Computer

    拓扑排序. /* 5154 */ #include <iostream> #include <cstdio> #include <cstring> #include ...

  10. 软件发布版本区别介绍-Alpha,Beta,RC,Release

    Alpha: Alpha是内部测试版,一般不向外部发布,会有很多Bug.除非你也是测试人员,否则不建议使用. 是希腊字母的第一位,表示最初级的版本 alpha就是α,beta就是β alpha版就是比 ...