ASP.NET里面简单的记住用户名和密码

简介: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.
 1 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 }

 

除了Cookie当然还有Session等几种状态保持,但是个人觉得这种方式还是不错的。

 

相关文章
|
算法 安全 .NET
|
.NET C# 数据安全/隐私保护
【转】ASP.NET Cookies简单应用 记住用户名和密码
不要试图给Password类型的TextBox赋值! 在asp.net中,不要试图给Password类型的TextBox控件赋值! 无论是在设计或是运行时,都不可以的。猜测的原因是,password类型的TextBox控件从根本上,没有Text属性的Set方法,只有Get !!同样,html中的Input控件,如果设置为ruanat="server",password类型的Input控件也是一样。
753 0
|
XML 前端开发 JavaScript
asp.net AJAX 验证用户名是否存在 -Jquery
异步刷新实现方式有多种,也可以借助JS的多种框架,下面是使用JQuery框架实现的AJAX 验证用户名是否存在 jQuery.ajax概述 HTTP 请求加载远程数据。   通过jQuery 底层 AJAX 实现。
1111 0
|
SQL .NET 数据库
ASP.NET中散列加密密码
private void LoginButton_Click(object sender,System.EventArgs e){        String sql=String.Format("select password from Administrator where AdminID='{0}',UseridBox.
742 0
|
数据安全/隐私保护 .NET 开发框架
修改asp.net2.0内置成员管理中的强密码规则
错误提示:密码最短长度为 7,其中必须包含以下非字母数字字符: 1解决方案:收到以上的消息主要是在创建用户的时候产生的,对于用Asp.net 网站管理工具的时候创建用户也会产生。主要是密码输入不符合要求,要改变上面的规定时,主要有两种方法:1.所有的站点都改变。
747 0
|
2月前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
37 7