1.效果和原理

原理是利用Asp.net的Cookies。选中CheckBox,把输入的用户名和密码用Cookies存储起来,设置过期时间7天,超过时间自动清除Cookie信息。

2.前台代码

<div>
<asp:Label ID="Label1" runat="server" Text="用户名"></asp:Label>
<asp:TextBox ID="Name" runat="server"></asp:TextBox>
<br /> <asp:Label ID="Label2" runat="server" Text="密码"></asp:Label>
<asp:TextBox ID="PassWord" TextMode="Password" runat="server"></asp:TextBox> <br /> <asp:CheckBox ID="CheckBox1" runat="server" /> <br /><asp:Button ID="Button1" runat="server"
Text="登陆" OnClick="Btn_Click"/>
</div>

3.后台代码

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.Cookies["Name"] != null && Request.Cookies["Password"] != null)
{
this.Name.Text = Request.Cookies["Name"].Value;
this.PassWord.Attributes["value"] = Request.Cookies["Password"].Value;
}
}
}

首先判断页是第一次呈现还是为了响应回发而加载,如果不是为了响应回发加载,如果Cookies存储的用户名不是空且密码也不是空。那么把cookies存储的信息显示到TextBox上。

protected void Btn_Click(object sender, EventArgs e)
{
Response.Cookies["Name"].Expires = DateTime.Now.AddDays(-1);
Response.Cookies["PassWord"].Expires = DateTime.Now.AddDays(-1); if (CheckBox1.Checked)
{ Response.Cookies["Name"].Expires = DateTime.Now.AddDays(7);
Response.Cookies["PassWord"].Expires = DateTime.Now.AddDays(7); } Response.Cookies["Name"].Value = this.Name.Text.Trim();
Response.Cookies["PassWord"].Value = this.PassWord.Text.Trim();
}

*解决中文乱码

//对字符串进行 URL 编码,并返回已编码的字符串。

Response.Cookies["Name"].Value = System.Web.HttpContext.Current.Server.UrlEncode( this.name.Text.Trim());

//对字符串进行 URL 解码并返回已解码的字符串。

this.name.Text = System.Web.HttpContext.Current.Server.UrlDecode(Request.Cookies["Name"].Value);

提交按钮的事件。

首先设置cookie的时间为-1,然后如果Checkbox选中了,就保存Cookies的信息7天。

然后把Textbox的值赋给Cookies。

Asp.Net登陆记住用户功能实现的更多相关文章

  1. Asp.Net MVC记住用户登录信息 下次登录无需输入密码

    有的时候做网站,就需要记住用户登录信息,下次再登录网站时,不用重复输入用户名和密码,原理是浏览器的cookie把状态给记住了! 那么具体是怎么实现的呢?下面博主将一部分代码贴出来,想要完整版的Demo ...

  2. 用javaScript实现 登陆记住密码功能。

    一.先写一个存取 cookie的方法. function getCookie(cookiename) { var result; var mycookie = document.cookie; var ...

  3. SpringBootSecurity学习(10)网页版登录之记住我功能

    场景 很多登录都有记住我这个功能,在用户登陆一次以后,系统会记住用户一段时间,在这段时间,用户不用反复登陆就可以使用我们的系统.记住用户功能的基本原理如下图: 用户登录的时候,请求发送给过滤器User ...

  4. asp.net记住我功能

    登录页面的记住我功能   不能用session的原因:sessionID是以cookie的形式存在浏览器端的内存中  如果用户把浏览器关闭 则sessionID就消失     但是服务器端的sessi ...

  5. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(17)-注册用户功能的细节处理(各种验证)

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(17)-注册用户功能的细节处理(各种验证) ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框 ...

  6. 转:通过ASP.Net页面获取域用户名(当前登陆的用户)

    通过ASP.Net页面获取域用户名(当前登陆的用户) 原文地址: https://www.cnblogs.com/fast-michael/archive/2011/03/14/2057954.htm ...

  7. 【转】ASP.NET 防止同一用户同时登陆

    要防止同一用户同时登陆,首页应该记录在线用户的信息(这里与用户名为例),然后判断正在登陆的用户里面是否已存在.在这里使用一个cache存放已经登陆的用户名,但是还有一个问题就是要知道用户是什么时候离开 ...

  8. ASP.net 实现禁止用户重复登录

    本文先为大家介绍如何利用缓存Cache方便地实现此功能. Cache与Session这二个状态对像的其中有一个不同之处,Cache是一个全局对象,作用的范围是整个应用程序,所有用户:而Session是 ...

  9. cookie记住密码功能

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

随机推荐

  1. 20行以内python代码画出各种减压图

    一.太阳花 看到一个很有意思的代码,你若安好,便是晴天!太阳花向你开~ 绘画效果如下: 代码如下: from turtle import * color('red', 'yellow') begin_ ...

  2. 第一次写html网页

    步骤一:(在notpad中写) <html> <head> <title>登录页面</title> </head> <body> ...

  3. Python内置函数(26)——globals

    英文文档: globals() Return a dictionary representing the current global symbol table. This is always the ...

  4. 前端(各种demo)二:左侧导航栏的折叠和打开(不使用js)基础版和升级版

    1.给div设置定位. 复习一下—— css中position有五种属性: static:默认值,没有定位 absolute:绝对定位,相对于父级元素进行定位 relative:相对定位 fixed: ...

  5. Quartz.NET学习笔记(一) 简介

    Quartz.NET是一款开源的任务调度框架,他是由Java中的任务调度框架Quartz移植而来的.官方网站https://www.quartz-scheduler.net/. Quartz.Net的 ...

  6. 深入理解Spring AOP思想

    什么是AOP?AOP解决了什么问题? 在传统的开发模式中,以下层次的是非常常见的一种,业务层每一个方法都要有重复的事务代码 如何改善这个问题? AOP希望将A.B 这些分散在各个业务逻辑中的相同代码, ...

  7. SpringCloud Config服务端

    1.导入依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId> ...

  8. 【Java基础】【11Eclipse使用&Object类型】

    11.01_Java开发工具(常见开发工具介绍)(了解) A:操作系统自带的记事本软件 B:高级记事本软件 C:集成开发环境 IDE (Integrated Development Environme ...

  9. [三]JavaIO之IO体系类整体设计思路 流的概念以及四大基础分类

    从本文开始,将正式进入JavaIO的简介 在继续javaIO系列的文章之前 可以过去看一下 本人博客上的设计模式中的 适配器模式和装饰器模式 这会对接下来的阅读大有帮助   本文是从逻辑上介绍整个的J ...

  10. pycharm安装破解go插件

    pycharm 2018以前版本安装go插件可以直接在plugins中搜索 go 插件,然后安装.若是2018以后的版本,go 变成了收费插件,plugins 搜不到.然后Google了一下,有人提供 ...