0

我有一个 sqldatasource 和一个 gridview。我正在使用表单身份验证。

用户登录后,我正在加密他的名字

FormsAuthenticationTicket tkt;
      string cookiestr;
      HttpCookie ck;
      tkt = new FormsAuthenticationTicket(1, txtUserName.text, DateTime.Now, 
DateTime.Now.AddMinutes(30), true, false);
      cookiestr = FormsAuthentication.Encrypt(tkt);
      ck = new HttpCookie(FormsAuthentication.FormsCookieName, cookiestr);
      ck.Expires=tkt.Expiration;    
      ck.Path = FormsAuthentication.FormsCookiePath; 
      Response.Cookies.Add(ck);

在重定向页面中,我需要在 sqldatasource 中设置,其中 -> 参数源:cookie

  • 但,

  • 1.我不知道 cookie 的名称,因为我可以看到它没有。

  • 2.由于cookie被加密,sqldatasource必须使用解密的cookie..好吧..我不知道该怎么做才能使用用户名字符串。

总而言之,我正在尝试加密他的名字并在重定向页面中使用 sqldatasource where 条件中记录的用户名。如果我不加密 cookie,我可以这样做,但是..因为 cookie 可以编辑..我不希望 ppl 编辑 cookie。

4

1 回答 1

0

Ans 1. FormsAuthentication.FormsCookieName 的默认名称是“.ASPXAUTH”。但是,如果您希望改写名称,则必须在配置中进行

<authentication mode="Forms">
  <forms loginUrl="login.aspx"
    cookieless="UseCookies"
    name=".NEW_COOKIE_NAME" />
</authentication>
于 2012-07-15T21:33:50.293 回答