• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

asp.net记住我功能

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
登录页面的记住我功能  
不能用session的原因:sessionID是以cookie的形式存在浏览器端的内存中  如果用户把浏览器关闭 则sessionID就消失    
但是服务器端的session在过期时间内还是存在的 等到浏览器在 默认的过期时间内(20分钟)不在向服务器发送请求 则过了20分钟 session销毁!
前端简单模拟:
 1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="RememberMe.Login" %>
 2 
 3 <!DOCTYPE html>
 4 
 5 <html xmlns="http://www.w3.org/1999/xhtml">
 6 <head runat="server">
 7     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 8     <title></title>
 9     <script type="text/javascript">
10         window.onload = function () {
11             document.getElementById('btnClose').onclick = function () {
12                 window.close();
13             };
14         };
15     </script>
16 </head>
17 <body>
18     <form id="form1" runat="server">
19         <div style="text-align: center;">
20             <table>
21                 <tr>
22                     <td>用户名:
23                         <input type="text" name="txtName" value="<%=uName %>" /></td>
24                 </tr>
25                 <tr>
26                     <td>&nbsp;&nbsp;&nbsp;&nbsp;码:<input type="password" name="txtPwd" value="<%=pwd %>" />
27                     </td>
28                 </tr>
29                 <tr>
30                     <td colspan="2">
31                         <input type="checkbox" name="rememberMe" value="1" checked="checked" />记住我</td>
32                 </tr>
33                 <tr>
34                     <td colspan="2">
35                         <input type="submit" value="登录" />
36                         <input type="button" value="关闭" id="btnClose" /></td>
37                 </tr>
38             </table>
39 
40         </div>
41     </form>
42 </body>
43 </html>
Login.aspx

后台代码:

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 
 8 namespace RememberMe
 9 {
10     public partial class Login : System.Web.UI.Page
11     {
12         protected string uName;
13         protected string pwd;
14         protected void Page_Load(object sender, EventArgs e)
15         {
16 
17             if (Request.Cookies["user"] != null)
18             {
19                 uName = Request.Cookies["user"].Values["n"];
20                 pwd = Request.Cookies["user"].Values["p"];
21             }
22             if (IsPostBack)
23             {
24                 string userName = Request.Form["txtName"];
25                 string userPwd = Request.Form["txtPwd"];
26                 if (!string.IsNullOrEmpty(Request.Form["rememberMe"]))
27                 {
28                     if (userName == "admin" && userPwd == "admin")
29                     {
30                         AlertAndRedirect("Index.aspx?n=" + userName, "登录成功");
31                         HttpCookie cookie = new HttpCookie("user");
32                         cookie["n"] = userName;
33                         cookie["p"] = userPwd;
34                         cookie.Expires = DateTime.Now.AddDays(7);
35                         Response.Cookies.Add(cookie);
36                     }
37                     else
38                     {
39                         AlertAndRedirect("Login.aspx", "登录失败");
40                         Response.Cookies["user"].Expires = DateTime.Now.AddDays(-1);
41                     }
42                 }
43                 else
44                 {
45                     Response.Cookies["user"].Expires = DateTime.Now.AddDays(-1);
46                     if (userName == "admin" && userPwd == "admin")
47                     {
48                         AlertAndRedirect("Index.aspx?n=" + userName, "登录成功");
49                     }
50                     else
51                     {
52                         AlertAndRedirect("Login.aspx", "登录失败");
53                     }
54                 }
55             }
56 
57         }
58         private void AlertAndRedirect(string redirectURL, string msg)
59         {
60             Response.Write("<script>alert('" + msg + "');window.location.href='" + redirectURL + "';</script>");
61         }
62     }
63 }
Login.aspx,cs

基本功能实现。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap