对ASP.NET Cookie的一些新的认识
System.Web.Security.FormsAuthentication.SetAuthCookie(UserName.Text,false);//登录...
//将用户名写入cookies
Response.Cookies["RememberMe"].Value = HttpUtility.UrlEncode(UserName.Text, System.Text.Encoding.GetEncoding("gb2312"));
Response.Cookies["RememberMe"].Expires = DateTime.Now.AddMonths(1);
UserName.Text = HttpUtility.UrlDecode(Request.Cookies["RememberMe"].Value, System.Text.Encoding.GetEncoding("gb2312"));
if (Response.Cookies["RememberMe"] != null) Response.Cookies["RememberMe"].Expires = DateTime.Now.AddDays(-1);//删除
System.Web.Security.FormsAuthentication.SetAuthCookie(UserName.Text,false);//登录,一定要先验证 if (RememberMe.Checked)//再写入cookie
{
if (Request.Cookies["RememberMe"] == null)
{
Response.Cookies["RememberMe"].Value = HttpUtility.UrlEncode(UserName.Text, System.Text.Encoding.GetEncoding("gb2312"));
Response.Cookies["RememberMe"].Expires = DateTime.Now.AddMonths(1);
}
}
else
{
if (Response.Cookies["RememberMe"] != null) Response.Cookies["RememberMe"].Expires = DateTime.Now.AddDays(-1);//删除
}
if (!IsPostBack)
{
if (Request.Cookies["RememberMe"] != null)
{
UserName.Text = HttpUtility.UrlDecode(Request.Cookies["RememberMe"].Value, System.Text.Encoding.GetEncoding("gb2312"));
RememberMe.Checked = true;
}
}
总结一下:
1.写一个与form验证相同用户名的值到cookies中,应该先验证后写cookies,否则会产生冲突,导致验证不能通过。
2.删除cookie的正确方法是设置已有cookies的日期为早于当前时间的日期,使用Cookies.Remove是没有效果的。
3.创建浏览器进程的cookies,不要设置Expires属性就行了,这样关闭浏览器就会自动被清空
4.cookies值是中文的时候最好用gb2312编码一下,这样可以避免产生乱码。
对ASP.NET Cookie的一些新的认识的更多相关文章
- ASP.NET Cookie(一)--基本应用
Cookie提供了一种在Web应用程序中存储用户特定信息的方法.例如,当用户访问您的站点时,您可以使用Cookie存储用户首选项或其他信息.当该用户再次访问您的网站时,应用程序便可以检索以前存储的信息 ...
- 返璞归真 asp.net mvc (13) - asp.net mvc 5.0 新特性
[索引页][源码下载] 返璞归真 asp.net mvc (13) - asp.net mvc 5.0 新特性 作者:webabcd 介绍asp.net mvc 之 asp.net mvc 5.0 新 ...
- ASP.NET Cookie 概述【转】
来源:http://msdn.microsoft.com/zh-cn/library/ms178194(VS.80).aspx ASP.NET Cookie 概述 Cookie 提供了一种在 Web ...
- ASP.NET Cookie 概述
什么是 Cookie? Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递.Cookie 包含每次用户访问站点时 Web 应用程序都可以读取的信息. 例如,如果在用 ...
- 【转】asp.net Cookie值中文乱码问题解决方法
来源:脚本之家.百度空间.网易博客 http://www.jb51.net/article/34055.htm http://hi.baidu.com/honfei http://tianminqia ...
- 返璞归真 asp.net mvc (7) - asp.net mvc 3.0 新特性之 Controller
原文:返璞归真 asp.net mvc (7) - asp.net mvc 3.0 新特性之 Controller [索引页][源码下载] 返璞归真 asp.net mvc (7) - asp.net ...
- 返璞归真 asp.net mvc (8) - asp.net mvc 3.0 新特性之 Model
原文:返璞归真 asp.net mvc (8) - asp.net mvc 3.0 新特性之 Model [索引页][源码下载] 返璞归真 asp.net mvc (8) - asp.net mvc ...
- 返璞归真 asp.net mvc (12) - asp.net mvc 4.0 新特性之移动特性
原文:返璞归真 asp.net mvc (12) - asp.net mvc 4.0 新特性之移动特性 [索引页][源码下载] 返璞归真 asp.net mvc (12) - asp.net mvc ...
- 返璞归真 asp.net mvc (11) - asp.net mvc 4.0 新特性之自宿主 Web API, 在 WebForm 中提供 Web API, 通过 Web API 上传文件, .net 4.5 带来的更方便的异步操作
原文:返璞归真 asp.net mvc (11) - asp.net mvc 4.0 新特性之自宿主 Web API, 在 WebForm 中提供 Web API, 通过 Web API 上传文件, ...
随机推荐
- shell 中的数学计算
1.1.第一种——expr格式:expr 操作数 1 操作符 操作数 2举例: 1 expr 1 + 2 TMP=$(expr 1 + 2) 2 expr 1 + 4 / 3 TM ...
- vbaexcel
Sub WordTest() Dim objwordApp As Word.Application Dim objword As Word.Document Dim objSeheet As Stri ...
- rsync安装及配置
一.Server端 CentOS 6下安装yum -y install xinetd1.配置:vi /etc/xinetd.d/rsyncservice rsync{ disable = yes ...
- 微信自定义菜单说php json_encode不转义中文汉字的方法
http://blog.csdn.net/qmhball/article/details/45690017 最近在开发微信自定义菜单. 接口比较简单,就是按微信要求的格式post一段json数据过去就 ...
- 自定义UserProvider,更改验证方法
新建UserProvider,如果继承EloquentUserProvider,注入model是必须的,或者去继承interface,自己实现一些方法 use Illuminate\Auth\Eloq ...
- java BufferedWriter and BufferedReader
//Listing 5-2. Demonstrating the BufferedWriter and BufferedReader Classes import java.io.BufferedRe ...
- Java ArrayListSerialise
import java.io.*; import java.util.*; //ArrayListSerialise public class A { public static void main( ...
- php---PHP setcookie()
定义和用法 setcookie() 函数向客户端发送一个 HTTP cookie. cookie 是由服务器发送到浏览器的变量.cookie 通常是服务器嵌入到用户计算机中的小文本文件.每当计算机通过 ...
- Java 进程(转)
转自http://jiangshuiy.iteye.com/blog/1674235 PS:今天做android助手项目的时候,发现adb push命令执行会卡死,最后发现不能用waitfor阻塞等待 ...
- 【转】为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment?
为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment? 转自:http://www.apkbus.com/android- ...