フォーム認証の制御フロー
ASP.NET フォーム認証の制御フローを次の表に示します。
ブラウザと HTTP の操作 | サーバーの応答 |
---|---|
保護されているリソースをサーバーに要求します。HTTP の操作 :
|
認証 Cookie がない場合は、資格情報を収集するために、要求をログオン ページにリダイレクトします。最初に要求されたページについての情報は、
|
ログオン ページにリダイレクトされます。HTTP の操作 :
|
ログオン ページを返します。セキュリティを確保するために、ログオン ページには SSL (Secure Sockets Layer) を使用してユーザーの資格情報をクリア テキストで送信しないようにすることをお勧めします。サーバー HTTP の応答 :
|
ユーザーがログオン ページに資格情報を入力した後にページを送信します。HTTP の操作 :
|
ユーザーの資格情報を検証し、資格情報が認証された場合は、QueryString に ![]()
CookieMode プロパティを使用すると、Cookie の代わりに URL に認証チケットを含めるように指定できます。
サーバー HTTP の応答 :
|
リダイレクトされ、最初のリソースを再び要求します。HTTP の操作 :
|
ユーザーが承認された場合は、アクセス権と認証チケットを含む Cookie を付与します。これ以降の同じブラウザ セッションでの要求は、モジュールがこの Cookie を検査するときに認証されます。将来のセッションでも使用できる永続的な Cookie を作成できますが、Cookie は有効期限が切れると使用できなくなります。サーバー HTTP の応答 :
Cookie のパスは / に設定されます。Cookie 名は大文字と小文字が区別されるため、これによって、サイト上の URL の大文字/小文字の不一致の問題を回避できます。たとえば、/SavingsPlan と設定されているパスが、リンクでは /savingsplan となっていた場合、ブラウザはこの Cookie を送信しないため、ユーザーの再認証が必要になります。 |