net mvc中实现记录用户登录信息(记住登录效果)
现记录用户登录信息(记住登录效果)
本文讲述了使用cookies实现网站记住登录效果,效果如下:

主要实现方法,当用户选择记住登录时建立cookies保存用户名和用户密码,当用户登录不选择记住登录时,重新建立一个cookies,设置以过期,并将保存用户名、密码的子cookies赋null值,代码如下:
//记住登录名密码
if (SAVAUSERID == "on")
{
HttpCookie cookie = new HttpCookie("COOKIE_NAME_FOR_USER");
cookie.Expires = DateTime.Now.AddYears(1);
cookie["COOKIE_USER_NAME"] = LOGINNAME;
cookie["COOKIE_USER_PASS"] = LOGINPASSWORD;
System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
}
else
{
HttpCookie cookie = new HttpCookie("COOKIE_NAME_FOR_USER");
cookie.Expires = DateTime.Now.AddYears(-1);
Request.Cookies.Add(cookie);
cookie["COOKIE_USER_NAME"] = null;
cookie["COOKIE_USER_PASS"] = null;
System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
}
前台页面代码:
用户名称:<input class="input" id="LOGINNAME" name="LOGINNAME" style="width:150px" type="text" value="<%=ViewData["username"]%>" />
用户密码:<input class="input" id="LOGINPASSWORD" name="LOGINPASSWORD" style="width:150px" type="password" value="<%=ViewData["userpass"]%>"/>
<input type="submit" name="button" class="button" value="登录系统" />
<input type="checkbox" name="SAVAUSERID" id="SAVAUSERID" <%= ViewData["CHECKBOX"]%>/><span style="font-size: 12px;">记住登录</span>
其中ViewData在进入登陆页面时判断cookies的值是否为空,如果不为空就赋值,代码如下:
HttpCookie cookie = System.Web.HttpContext.Current.Request.Cookies.Get("COOKIE_NAME_FOR_USER");
ViewData["username"] = (cookie == null ? "" : cookie["COOKIE_USER_NAME"].ToString().Trim());
ViewData["userpass"] = (cookie == null ? "" : cookie["COOKIE_USER_PASS"].ToString().Trim());
if (cookie != null)
ViewData["CHECKBOX"] = "checked=checked";
eturn View();
net mvc中实现记录用户登录信息(记住登录效果)的更多相关文章
- C#-MVC开发微信应用(7)--在管理系统中同步微信用户分组信息
在前面几篇文章中,逐步从原有微信的API封装的基础上过渡到微信应用平台管理系统里面,逐步介绍管理系统中的微信数据的界面设计,以及相关的处理操作过程的逻辑和代码.希望从一个更高的层次介绍微信的开发. 在 ...
- C#开发微信门户及应用(10)--在管理系统中同步微信用户分组信息
在前面几篇文章中,逐步从原有微信的API封装的基础上过渡到微信应用平台管理系统里面,逐步介绍管理系统中的微信数据的界面设计,以及相关的处理操作过程的逻辑和代码,希望从更高一个层次,向大家介绍微信的应用 ...
- oracle中的sys用户(修改密码)/////Oracle删除表空间的同时删除数据文件 ///// Oracle中如何保证用户只有一个session登录
oracle中的sys用户(修改密码) (2011-07-01 09:18:11) 转载▼ 标签: it 分类: oracle 概念: SYS用户是Oracle中权限最高的用户,而SYSTEM是一个用 ...
- Asp.Net MVC记住用户登录信息 下次登录无需输入密码
有的时候做网站,就需要记住用户登录信息,下次再登录网站时,不用重复输入用户名和密码,原理是浏览器的cookie把状态给记住了! 那么具体是怎么实现的呢?下面博主将一部分代码贴出来,想要完整版的Demo ...
- 记录用户登陆信息,你用PHP是如何来实现的
对于初入门的PHP新手来说,或许有一定的难度.建议大家先看看PHP中session的基础含义,需要的朋友可以选择参考. 下面我们就通过具体的代码示例,为大家详细的介绍PHP中session实现记录用户 ...
- C#获取AD域中计算机和用户的信息
如果你的计算机加入了某个AD域,则可以获取该域中所有的计算机和用户的信息. 所用程序集,需要.Net Framework 4. 添加程序集引用 System.DirectoryServices.Acc ...
- ASP.NET MVC中Log4Net记录错误日志的使用
第一.在管理NuGet程序包 =>下载 Log4Net 第二.在web.config配置Log4Net 1:在<configuration>节点下 <configSection ...
- linux中查找用户账户信息和登录信息的11中方法
摘自:开源中国 微信公众号 1. id 2. groups 3. finger 4.getent 5. grep 6. lslogins 7..users 8. who 9. w 10. last或者 ...
- MVC中ajax调用API版信息分页显示
效果图: API端采用三层架构控制器显示界面: UserBll bll = new UserBll(); //获取用户所有信息 [HttpGet] ,) { List<UserInfo> ...
随机推荐
- [日常] nginx与负载均衡
去年的事,随便记记 ========================================================================= 2017年3月31日 记录: n ...
- Linux的虚拟内存管理-如何分配和释放内存,以提高服务器在高并发情况下的性能,从而降低了系统的负载
Linux的虚拟内存管理有几个关键概念: Linux 虚拟地址空间如何分布?malloc和free是如何分配和释放内存?如何查看堆内内存的碎片情况?既然堆内内存brk和sbrk不能直接释放,为什么不全 ...
- [LeetCode] Next Permutation(一种巧妙的解题方法)
Next Permutation Implement next permutation, which rearranges numbers into the lexicographically nex ...
- ASP.NET Core依赖注入
一.什么是依赖注入(Denpendency Injection) 这也是个老身常谈的问题,到底依赖注入是什么? 为什么要用它? 初学者特别容易对控制反转IOC(Iversion of Con ...
- win8.1 pro-64位下安装配置MinGW—64位
1.下载MinGW-w64位:http://mingw-w64.org/doku.php 点击Downloads 说明:这边使用的是在线安装方式: 在网站里可以看到他安装后的文件夹: 2.安装 运行m ...
- js-权威指南学习笔记15
第十五章 脚本化文档 1.文档对象模型DOM是表示和操作HTML和XML文档内容的基础API. 2.Document.Element.Text是Node的子类. 3.查询文档的一个或多个元素有如下方法 ...
- Spring Boot—04文件上传
package com.smartmap.sample.ch1.controller.view; import java.io.File; import java.io.IOException; im ...
- map与pagelayout同步新方法
本文转自: http://hi.baidu.com/murphy1314/blog/item/3d3144f319b19dcf0a46e0a4.html 前天写的那个MapControl和Pagela ...
- 一步一步 Pwn RouterOS之ctf题练手
前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 本文目的是以一道比较简单的 ctf 的练手,为后面的分析 Rout ...
- java 编译器
1.编译器自动计算 源码: public class Test { int i = (1000+1)*5/10; } eclipse保存生成字节码文件,并用反编译工具打开: public class ...