登录页面的记住我功能  
不能用session的原因:sessionID是以cookie的形式存在浏览器端的内存中  如果用户把浏览器关闭 则sessionID就消失    
但是服务器端的session在过期时间内还是存在的 等到浏览器在 默认的过期时间内(20分钟)不在向服务器发送请求 则过了20分钟 session销毁!
前端简单模拟:
 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="RememberMe.Login" %>

 <!DOCTYPE html>

 <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript">
window.onload = function () {
document.getElementById('btnClose').onclick = function () {
window.close();
};
};
</script>
</head>
<body>
<form id="form1" runat="server">
<div style="text-align: center;">
<table>
<tr>
<td>用户名:
<input type="text" name="txtName" value="<%=uName %>" /></td>
</tr>
<tr>
<td>密&nbsp;&nbsp;&nbsp;&nbsp;码:<input type="password" name="txtPwd" value="<%=pwd %>" />
</td>
</tr>
<tr>
<td colspan="2">
<input type="checkbox" name="rememberMe" value="1" checked="checked" />记住我</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="登录" />
<input type="button" value="关闭" id="btnClose" /></td>
</tr>
</table> </div>
</form>
</body>
</html>

Login.aspx

后台代码:

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; namespace RememberMe
{
public partial class Login : System.Web.UI.Page
{
protected string uName;
protected string pwd;
protected void Page_Load(object sender, EventArgs e)
{ if (Request.Cookies["user"] != null)
{
uName = Request.Cookies["user"].Values["n"];
pwd = Request.Cookies["user"].Values["p"];
}
if (IsPostBack)
{
string userName = Request.Form["txtName"];
string userPwd = Request.Form["txtPwd"];
if (!string.IsNullOrEmpty(Request.Form["rememberMe"]))
{
if (userName == "admin" && userPwd == "admin")
{
AlertAndRedirect("Index.aspx?n=" + userName, "登录成功");
HttpCookie cookie = new HttpCookie("user");
cookie["n"] = userName;
cookie["p"] = userPwd;
cookie.Expires = DateTime.Now.AddDays();
Response.Cookies.Add(cookie);
}
else
{
AlertAndRedirect("Login.aspx", "登录失败");
Response.Cookies["user"].Expires = DateTime.Now.AddDays(-);
}
}
else
{
Response.Cookies["user"].Expires = DateTime.Now.AddDays(-);
if (userName == "admin" && userPwd == "admin")
{
AlertAndRedirect("Index.aspx?n=" + userName, "登录成功");
}
else
{
AlertAndRedirect("Login.aspx", "登录失败");
}
}
} }
private void AlertAndRedirect(string redirectURL, string msg)
{
Response.Write("<script>alert('" + msg + "');window.location.href='" + redirectURL + "';</script>");
}
}
}

Login.aspx,cs

基本功能实现。下载:http://www.cnblogs.com/wolf-sun/admin/Files.aspx

asp.net记住我功能的更多相关文章

  1. java实现记住密码功能(利用cookie)

    <br> <input type="text" id="userName" name="userName" value=& ...

  2. 通过sharedpreferences实现记住密码功能

    通过sharedpreferences实现记住密码功能

  3. jquery.cookie.js 操作cookie实现记住密码功能的实现代码

    jquery.cookie.js操作cookie实现记住密码功能,很简单很强大,喜欢的朋友可以参考下.   复制代码代码如下: //初始化页面时验证是否记住了密码 $(document).ready( ...

  4. cookie记住密码功能

    很多门户网站都提供了记住密码功能,虽然现在的浏览器都已经提供了相应的记住密码功能 效果就是你每次进入登录页面后就不需要再进行用户名和密码的输入: 记住密码功能基本都是使用cookie来进行实现的,因此 ...

  5. 【原创】js中利用cookie实现记住密码功能

    在登录界面添加记住密码功能,我首先想到的是在java后台中调用cookie存放账号密码,大致如下: HttpServletRequest request HttpServletResponse res ...

  6. android: SharedPreferences实现记住密码功能

    既然是实现记住密码的功能,那么我们就不需要从头去写了,因为在上一章中的最佳实 践部分已经编写过一个登录界面了,有可以重用的代码为什么不用呢?那就首先打开 BroadcastBestPractice 项 ...

  7. asp.net(C#)实现功能强大的时间日期处理类完整实例

    作者:smartsmile2012 字体:[增加 减小] 类型:转载 时间:2016-06-30我要评论 这篇文章主要介绍了asp.net(C#)实现功能强大的时间日期处理类,封装了针对日期与时间的各 ...

  8. vue项目实现记住密码功能

     一.谷歌浏览的残留问题 现在很多的网站都有一个需求是记住密码这个功能,为的是避免用户下次登录的时候繁琐的输入过程. 像是一些主流的浏览器(比如Chrome)都有了这个功能,而且如果你登录了Chrom ...

  9. SpringBoot + Spring Security 学习笔记(四)记住我功能实现

    记住我功能的基本原理 当用户登录发起认证请求时,会通过UsernamePasswordAuthenticationFilter进行用户认证,认证成功之后,SpringSecurity 调用前期配置好的 ...

随机推荐

  1. 实现可以滑动的GrildView,类似美团网首页的GrildView功能菜单

    首先上实现效果图,不会做动态图,就先凑合着看吧 使用了网上的一个开源控件viewpagerindicator,可以自定义切换时候显示的标记,圆点,或者下划线. GrildView显示的是手机上的全部a ...

  2. Activiti系列:为什么Activiti 5.18 的REST的api总是返回404错误

    REST api可以访问了,如下 1.修改db.properties配置文件,让他访问sql server 2.在浏览器中输入如下地址,注意中间有一个service,这点和之前的不一样,在<Ac ...

  3. 从0开始学java——Tomcat的安装及其常见错误排查(zz)

    来源: <http://www.cnblogs.com/xdp-gacl/p/3729033.html> 学习web开发,为什么必须要先装一个WEB服务器? 在本地计算机上随便创建一个we ...

  4. [CareerCup] 13.8 Smart Pointer 智能指针

    13.8 Write a smart pointer class. A smart pointer is a data type, usually implemented with templates ...

  5. LeetCode-Count Univalue Subtrees

    Given a binary tree, count the number of uni-value subtrees. A Uni-value subtree means all nodes of ...

  6. windows命令行

    [drive:] Change the current driver, without changing its current directory cd [drive:] [path] Just c ...

  7. Slider 滚动条 Pagination分页插件 JS Ajax 数据范围筛选 加载 翻页 笔记

    入职以后的第二个任务  根据用户所选的价格范围 筛选数据 修复BUG - 筛选数据后 总数没有更新.列表显示错误.翻页加载错误 用到的一些知识点 jquery插件系列之 - Slider滑块 max ...

  8. 编写高质量代码--改善python程序的建议(六)

    原文发表在我的博客主页,转载请注明出处! 建议二十八:区别对待可变对象和不可变对象 python中一切皆对象,每一个对象都有一个唯一的标识符(id()).类型(type())以及值,对象根据其值能否修 ...

  9. 【JVM】模板解释器--字节码的resolve过程

    1.背景 上文探讨了:[JVM]模板解释器--如何根据字节码生成汇编码? 本篇,我们来关注下字节码的resolve过程. 2.问题及准备工作 上文虽然探讨了字节码到汇编码的过程,但是: mov %ra ...

  10. 怎样写 OpenStack Neutron 的 Extension (三)

    通过上几章的介绍,我们现在的 myplugin 文件夹看上去应该是这样的: - neutron/ - plugins/ - myplugin/ - __init__.py - plugin.py - ...