0

asp.netでcookieless認証を使用してスライド有効期限を達成することは可能ですか? これが私のweb.config認証セクションです:

 <authentication mode="Forms">
   <forms loginUrl="login.aspx"
          protection="All"
           timeout="2880"
           name=".USERLOGINCONTROLAUTH"
           path="/"
           requireSSL="false"
           slidingExpiration="true"
           defaultUrl="login.aspx"
           cookieless="false"
           enableCrossAppRedirects="false"/>
  </authentication>

SlidingExpiration 属性を true に設定しようとしましたが、うまくいきません。その後、MSDN のドキュメントにも目を通しましたが、有効な Cookie のタイムアウトを延長すると書かれています。助けてください。よろしくお願いします!

4

1 に答える 1

0

MSDNのドキュメントに記載されている内容によると、cookieless 属性の有効な設定は、UseUri、UseCookies、AutoDetect、および UseDeviceProfile のみです。さらに、Cookie なしで有効期限をスライドさせてはならないことを示唆するこの投稿を見つけました。

問題は、Cookie を使用しないフォーム認証では、チケットが実際には URL の一部であることです。チケットでタイムアウトが更新されると、チケットのシリアル化されたテキスト表現も変更されます。その結果、新しい値を反映するように Url 自体を変更する必要があります。Cookie とは異なり、サーバー上で URL を書き換えて、クライアントに透過的に新しい URL を取得させることはできません。代わりに、強制的にリダイレクトする必要があります。これは、リダイレクトによってブラウザーが強制的にドキュメントを再読み込みし、アドレス バーに表示される URL を更新するためです。

于 2013-10-01T12:17:03.133 に答える