フォーム認証チケットとクッキーについて理解する

文書翻訳 文書翻訳
文書番号: 910443 - 対象製品
ASP.NET サポート音声列

フォーム認証チケットとクッキーについて理解する

必要に応じて、この列をカスタマイズするには、を参照してくださいする問題関心のあるトピックに関するアイデアにサポート技術情報の記事や音声のサポート列将来の対処を提出する招待をします。アイデアおよびフィードバックを使用して送信することができます、 要求します。 フォームです。この列の下部にあるフォームへのリンクもあります。
すべて展開する | すべて折りたたむ

目次

はじめに

Microsoft ASP.NET サポート ボイス コラムにようこそ!Nilay B. Shah と ASP.NET 開発者サポート チームです。私は、1.5 年以上、ASP.NET サポート取り組んできました。フォーム認証は、本当にすばらしい認証機能です。この資料ではユーザー フォーム認証、フォーム認証チケットとフォーム認証の cookie および関連する設定との関係などで混乱を招くことがある問題のいくつかについて説明します。ASP.NET サポート チームの技術責任者 Jerry Orman の絶大な手助けに感謝します。

人疑問についてフォーム認証「チケット」と"cookie"に密接に関連しているためです。これらの質問にわたってきた: だれでもクッキーの有効期限とチケットの有効期限の違いを説明できるか。Cookie の期限が切れると、ユーザーがログオン ページにリダイレクトされます。チケットの有効期限が切れた場合こと、cookie の有効期限が切れるか。SlidingUpdate が実際に更新するものは何でしょうか。

この資料は、次の質問に答えるにフォーム認証のこれら 2 つの側面について重点的に取り上げます。
  • フォームの認証チケットとありますは何でしょうか。それらがどのように関連しますか。
  • チケットありますの役割とは何ですか。
  • クッキーの有効期限とチケットの expirationrelated をどのようにですか。
  • ありますチケットのコンテキストでのスライド式有効期限作業し、フォーム認証 cookie 方法でしょうか。
  • Authenticationcookie のフォームおよびフォーム認証チケットのタイムアウト プロパティを設定できる場所?
  • シナリオの問題: フォーム認証は、outbefore 設定ファイルで設定されているタイムアウト属性の値を時間可能性があります

フォーム認証チケット、フォーム認証 cookie は何ですか。どのように arethey 関連しますか。

フォーム認証の cookie は、フォーム認証チケットのコンテナーに過ぎません。チケット要求ごとに、フォーム認証の cookie の値として渡され、フォーム認証は、サーバーで、認証済みのユーザーを識別するために使用します。

ただし、cookie なしのフォーム認証を使用することを選択した場合、チケットは暗号化された形式で URL に渡されます。Cookie なしのフォーム認証は、クライアント ブラウザーの cookie をブロックすることがありますのために使用されます。この機能は、Microsoft.NET Framework 2.0 で導入されました。

詳細については、次の Microsoft Developer Network (MSDN) Web サイトを参照してください。
http://msdn2.microsoft.com/en-us/library/system.web.configuration.formsauthenticationconfiguration.cookieless.aspx

認証を通知、チケットの役割は何でしょうか。

ユーザーは、ASP.NET アプリケーションでフォーム認証チケットを使用します。このため、チケットは、フォーム認証のセキュリティの基盤です。

チケットは暗号化され、署名を使用して、<machineKey></machineKey>サーバーの Machine.config ファイルの構成要素。ASP.NET 2.0 を使用して、するアプリレーション復号化の新しい属性の<machineKey></machineKey>フォーム認証チケットを暗号化する要素。復号化属性を使用する暗号化アルゴリズムを指定します。ASP.NET 1.1 および 1.0 を構成可能ではない、3 des 暗号化を使用します。サーバーでは、チケットを復号化に失敗した場合、チケットの値の改ざんは決定されます。結果として、ユーザーはログオン ページにリダイレクトされます。

場合は、アプリケーションを Web ファームに展開する必要があります各サーバー上の構成ファイル共有するアプリレーションの属性に同じ値であること、<machineKey></machineKey>ハッシュとチケットの復号化に使用されるタグです。サーバーが後続の要求を処理することを保証できないために、これを行う必要があります。所属の暗号化、および Web ファームのデプロイメントに関する考慮事項に関する詳細については、次の MSDN Web サイトを参照してください。
http://msdn2.microsoft.com/en-us/library/ms998288.aspx
手動でキーを生成する方法のウォークスルーは、次のマイクロソフト サポート技術情報の記事を参照してください。
312906 フォーム認証で使用するため、Visual C# .NET を使用してキーを作成する方法
313091 フォーム認証で使用する Visual Basic .NET を使用してキーを作成する方法
フォーム認証チケットは、所属クラスを使用して手動で生成できます。詳細については、次の MSDN Web サイトを参照してください。
http://msdn2.microsoft.com/en-us/library/system.web.security.formsauthenticationticket.aspx

クッキーの有効期限とチケットの有効期限関係でしょうか。

非永続的な cookie の場合、チケットの期限が切れた場合は、cookie の有効期限と、ユーザーはログオン ページにリダイレクトされます。他の側では、チケットがマークされている、その永続的な cookie は、[クライアント] ボックスに保存されている場合は、ブラウザー使用できます、同じ認証 cookie をいつでも Web サイトにログオンします。ただし、我々 使用できますを永続的に削除するFormsAuthentication.SignOutメソッドまたは非永続的な cookie 明示的にします。

FormsAuthentication.SignOutメソッドの詳細については、次の MSDN Web サイトを参照してください。
http://msdn2.microsoft.com/en-us/library/system.web.security.formsauthentication.signout.aspx
Cookie なしのフォーム認証では、ブラウザーが閉じている場合は、チケットが失われ、次の要求で、新しいチケットが生成されます。

スライド式有効期限作業コンテキスト offorms 認証チケットし、フォーム認証 cookie 方法でしょうか。

変化する有効期限と同じようには動作!

ください例: 5時 00分に、ログオン ページにアクセスするかどうかは 00時 00分: 00 PM、5:10: 00時 00分: 00 PMタイムアウト属性が 10、 slidingExpiration属性の場合は、TRUE に設定されて有効期限が切れます。ここでは場合は、Web ページが参照される 5時 05分で 00時 00分: 00 PM、5時 15分に、cookie とチケットのタイムアウト期間はリセットされます: 00時 00分: 00 PM。

メモ 半分のした有効期限時間が経過する前に、Web ページにアクセスする場合は、チケットの有効期限時間はリセットされません。前景の例では 5時 04分でもう一度 Web ページにアクセスした場合 00時 00分: 00 PM、cookie とチケットのタイムアウト期間はリセットされません。

詳細については、次の MSDN Web サイトを参照してください。
http://msdn2.microsoft.com/en-us/library/1d3t3c61 (vs.71).aspx

場所フォーム認証 cookieand フォーム認証チケットのタイムアウト値を設定できます。

ことができます唯一の設定は Web.config ファイルまたは Machine.config ファイルで、<forms></forms>タグ。チケットを手動で作成しない限り、この変更は、チケットまたは cookie のコンテキスト内でのフォーム認証のタイムアウトの時間を決定します。

<!--
forms Attributes: 
name="[cookie name]" - Sets the name of the cookie used for Forms Authentication.
loginUrl="[url]" - Sets the URL to redirect client to for authentication.
protection="[All|None|Encryption|Validation]" - Sets the protection mode for data in cookie.
timeout="[minutes]" - Sets the duration of time for cookie to be valid (reset on each request).
path="/" - Sets the path for the cookie.
requireSSL="[true|false]" - Should the forms authentication cookie be sent only over SSL?
slidingExpiration="[true|false]" - Should the forms authentication cookie and ticket be reissued if they are about to expire?
-->
詳細については、次の MSDN Web サイトを参照してください。
http://msdn2.microsoft.com/en-us/library/1d3t3c61.aspx
チケットが手動で所属クラスを使用して生成される場合は、タイムアウトの有効期限属性で設定できます。この値は、構成ファイルで指定されているタイムアウト属性の値をオーバーライドします。

所属メンバーの詳細については、次の MSDN Web サイトを参照してください。
http://msdn2.microsoft.com/en-us/library/system.web.security.formsauthenticationticket_members.aspx

シナリオの問題: フォーム認証が構成ファイルで設定されているタイムアウト属性値の前にタイム ・ アウト

手動で、フォーム認証チケットが生成される場合、チケットのタイムアウト プロパティは、構成ファイルで設定されている値をオーバーライドします。したがって、その値が小さい場合、構成ファイルの値よりも、ファイルのタイムアウトを構成する前に、認証チケットは期限切れフォーム属性値と、その逆。たとえば、あると仮定しましょう、 <forms> </forms>のタイムアウト]属性は、Web.config ファイルで 30 に設定されてし、チケットの有効期限の値が 20 分に設定します。この場合は、フォーム認証チケットは、20 分後に期限切れし、ユーザーはその後、再度ログオンする必要があります。

関連リンク

910439 フォーム認証をトラブルシューティングします。
891032 ASP.NET のトラブルシューティング
301240 C# .NET を使用して、ASP.NET アプリケーションでフォーム ベース認証を実装する方法
308157 Visual Basic .NET を使用して、ASP.NET アプリケーションでフォーム ベース認証を実装する方法
この情報をいくつかの ASP.NET フォームの認証チケットを cookie に関連する混乱を軽減に役立つが見つかりましたを願っています。音声のサポート列はすることを忘れないでください!自由にしたいトピックに関するアイデアを送信するアドレス列将来的に常に、またはを使用して、マイクロソフト サポート技術情報で、 要求します。 フォームです。

プロパティ

文書番号: 910443 - 最終更新日: 2013年11月23日 - リビジョン: 3.0
この資料は以下の製品について記述したものです。
  • Microsoft ASP.NET 2.0
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
キーワード:?
kbhowto kbasp kbmt KB910443 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:910443
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com