我正在创建一个cookie,并在成功登录后存储用户名的值。当打开网站时,如何访问cookie。如果存在cookie,则希望从cookie值填充用户名文本框。如何解密该值以获取用户名。我通过从数据库获取用户详细信息来进行服务器端验证。我使用C#和VS 2010。
FormsAuthenticationTicket tkt;
string cookiestr;
HttpCookie ck;
tkt = new FormsAuthenticationTicket(1, txtUserName.Value, DateTime.Now,
DateTime.Now.AddYears(1), chk_Rememberme.Checked, "User Email");
cookiestr = FormsAuthentication.Encrypt(tkt);
ck = new HttpCookie(FormsAuthentication.FormsCookieName, cookiestr);
if (chk_Rememberme.Checked)
{
ck.Expires = tkt.Expiration;
ck.Path = FormsAuthentication.FormsCookiePath;
Response.Cookies.Add(ck);
}
cookie使用名称“.YAFNET_Authentication”创建,内容已加密。
Webconfig:
<forms name=".YAFNET_Authentication" loginUrl="Home.aspx"
protection="All" timeout="15000" cookieless="UseCookies"/>