成功登录后,我正在创建一个cookie并存储用户名的值。打开网站后如何访问cookie。如果cookie存在,我想从cookie值填充用户名文本框。以及如何解密该值以获得用户名。我正在通过从数据库获取用户详细信息来进行服务器端验证。我正在使用vs 2010与C#

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"/>

最佳答案

您可以使用Request.Cookies集合来读取cookie。

if(Request.Cookies["key"]!=null)
{
   var value=Request.Cookies["key"].Value;
}

关于c# - 如何在ASP.NET网站中获取Cookie值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8490129/

10-12 05:31