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.クッキーの名前がわからないのですが、ご覧のとおりクッキーの名前がありません。

  • 2. Cookieが暗号化されているため、sqldatasourceは復号化されたCookieを使用する必要があります。ユーザー名文字列を使用するために何をすべきかわかりません。

全体として、私は彼の名前とリダイレクトされたページを暗号化して、sqldatasourcewhere条件でログに記録されたユーザー名を使用しようとしています。Cookieを暗号化しない場合はこれを行うことができますが、Cookieは編集できるため、pplにCookieを編集させたくありません。

4

1 に答える 1

0

回答1.FormsAuthentication.FormsCookieNameのデフォルト名は「.ASPXAUTH」です。ただし、名前を上書きしたい場合は、構成で行う必要があります

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