博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
asp.net记住我功能
阅读量:7117 次
发布时间:2019-06-28

本文共 3287 字,大约阅读时间需要 10 分钟。

登录页面的记住我功能
  
不能用session的原因:sessionID是以cookie的形式存在浏览器端的内存中  如果用户把浏览器关闭 则sessionID就消失    
但是服务器端的session在过期时间内还是存在的 等到浏览器在 默认的过期时间内(20分钟)不在向服务器发送请求 则过了20分钟 session销毁!
前端简单模拟:
1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="RememberMe.Login" %> 2  3  4  5  6  7     
8 9 16 17 18
19
20
21
22
24
25
26
28
29
30
32
33
34
37
38
用户名:23
密    码:27
31 记住我
35 36
39 40
41
42 43
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.Page11     {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                     else38                     {39                         AlertAndRedirect("Login.aspx", "登录失败");40                         Response.Cookies["user"].Expires = DateTime.Now.AddDays(-1);41                     }42                 }43                 else44                 {45                     Response.Cookies["user"].Expires = DateTime.Now.AddDays(-1);46                     if (userName == "admin" && userPwd == "admin")47                     {48                         AlertAndRedirect("Index.aspx?n=" + userName, "登录成功");49                     }50                     else51                     {52                         AlertAndRedirect("Login.aspx", "登录失败");53                     }54                 }55             }56 57         }58         private void AlertAndRedirect(string redirectURL, string msg)59         {60             Response.Write("");61         }62     }63 }
Login.aspx,cs

基本功能实现。下载:

转载于:https://www.cnblogs.com/wolf-sun/p/3217504.html

你可能感兴趣的文章
SQL Server 分组操作解析
查看>>
Spring集成RabbitMQ-使用RabbitMQ更方便
查看>>
找硬币
查看>>
bzoj3190[JLOI2013]赛车
查看>>
bzoj4716假摔
查看>>
object-c中数组的排序
查看>>
Es6学习笔记
查看>>
数据库笔记整理——数据库连接(思维导图式)
查看>>
WinForm中如何实现在容器控件中嵌入form窗体(panel与子窗体)
查看>>
正则表达式(百度上找的)
查看>>
php课程---初学练习
查看>>
#题目:GCD XOR UVA - 12716
查看>>
制作PC端的安装程序
查看>>
1.12.4版本发布
查看>>
C#第六节课
查看>>
Jmeter 学习imooc
查看>>
LeetCode算法题-Backspace String Compare(Java实现)
查看>>
egret GUI 文本混排+文本链接的聊天解决方案【取巧法】
查看>>
Thingworx新建Thing的数据库表变化
查看>>
TP为什么这个if判断什么都不显示?
查看>>