HttpWebRequest.UnsafeAuthenticatedConnectionSharing プロパティ

定義

高速 NTLM 認証された接続共有を許可するかどうかを示す値を取得または設定します。

public:
 property bool UnsafeAuthenticatedConnectionSharing { bool get(); void set(bool value); };
public bool UnsafeAuthenticatedConnectionSharing { get; set; }
member this.UnsafeAuthenticatedConnectionSharing : bool with get, set
Public Property UnsafeAuthenticatedConnectionSharing As Boolean

プロパティ値

認証された接続を確立し続ける場合は true。それ以外の場合は false

注釈

このプロパティの既定値は です false。これにより、要求の完了後に現在の接続が閉じられます。 アプリケーションは、新しい要求を発行するたびに認証シーケンスを通過する必要があります。

このプロパティが に true設定されている場合、認証が実行された後も、応答の取得に使用される接続は開いたままです。 この場合、このプロパティが に true 設定されている他の要求では、再認証なしで接続が使用される可能性があります。 つまり、ユーザー A に対して接続が認証されている場合、ユーザー B は A の接続を再利用できます。ユーザー B の要求は、ユーザー A の資格情報に基づいて満たされます。

注意事項

アプリケーションが認証されずに接続を使用する可能性があるため、このプロパティを に設定するときに、システムに管理上の脆弱性がないことを確認する true必要があります。 アプリケーションが複数のユーザー (複数のユーザー アカウントを偽装) に対して要求を送信し、リソースを保護するために認証に依存している場合は、以下で説明するように接続グループを使用しない限り、このプロパティを に true 設定しないでください。

パフォーマンスの問題があり、アプリケーションが統合されたWindows 認証を持つ Web サーバーで実行されている場合は、このメカニズムを有効にすることを検討してください。

この設定を有効にすると、セキュリティ リスクに対するシステムが開きます。 プロパティを設定するUnsafeAuthenticatedConnectionSharingtrue場合は、次の予防措置を講じてください。

  • プロパティを ConnectionGroupName 使用して、さまざまなユーザーの接続を管理します。 これにより、認証されていないアプリケーションによる接続の潜在的な使用が回避されます。 たとえば、ユーザー A には、ユーザー B とは異なる一意の接続グループ名が必要です。これにより、ユーザー アカウントごとに分離レイヤーが提供されます。

  • 接続の悪用の可能性を回避するために、保護された環境でアプリケーションを実行します。

バックエンド サーバーを制御する場合は、別の方法として、認証の永続化をオフにすることを検討してください。 これにより、パフォーマンスが低下しますが、より安全です。 詳細については、「 AuthPersistence」を参照してください。

注意

UnsafeAuthenticatedConnectionSharing の両方PreAuthenticateが にtrue設定されている場合、各要求は安全でないプールからの接続を使用して送信されますが、Authorization ヘッダーを使用して送信されます。

適用対象