NTLM(Windows)認証を使用している場合、ユーザーが既にログオンしているかどうかをサーバーが判断する方法が不思議です。だから、ときに私は初めてアクセスサイト - サーバは、彼がNTLM経由で私を認証したい私に語った:HTTPによるNTLM認証
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
その後、クライアントといくつかの要求を交換するサーバー - 実際/応答フェーズ挑戦し、ここで起こる特にサーバが生成し、チャレンジを送信クライアントはそれに基づいてレスポンスを計算して返信し、サーバーはドメインコントローラにコンタクトして検証します。わかりました。
しかし、私が認証されて任意のページに行くと、認証ヘッダーはもうありません。サーバーは、私がすでに認証されていることをどのように知っていますか?
P.S.私はIISがMACやIPによってクライアントを結びつけていると思っていましたが、確かにそうではありません。 NTLMはシングルブラウザで動作します。また、NTLM固有のCookieも見つかりませんでした。
本当にありがとうございました。 BTW - ウィキペディアによると、Windowsレジストリを介して変更可能な60秒間の非アクティブな時間が経過すると、永続的な接続がタイムアウトします。それはブラウザがケルベロスのチケットを1〜2分ごとに送りますか? – seeker
私は実際の実装の詳細を知らない、私は資格情報がブラウザにキャッシュされていると思いますし、必要に応じて再送信することがあります。ネットワークトラフィックを調べて調べることができます。 –