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

屬性值

Boolean

true 表示保持開啟已驗證的連接,否則為 false

備註

這個屬性的預設值為 false ,這會導致在要求完成之後關閉目前的連接。 每次發出新要求時,您的應用程式都必須通過驗證順序。

如果此屬性設定 true 為 ,則用來擷取回應的連接在執行驗證之後仍會保持開啟狀態。 在此情況下,將此屬性設定 true 為 的其他要求可能會使用連線,而不需重新驗證。 換句話說,如果使用者 A 已驗證連線,則使用者 B 可能會重複使用 A 的連線;使用者 B 的要求會根據使用者 A 的認證來完成。

警告

由於應用程式可以在未經過驗證的情況下使用連線,因此您必須確定在將此屬性設定為 true 時,系統中沒有系統管理弱點。 如果您的應用程式傳送多個使用者的要求, (模擬多個使用者帳戶) ,並依賴驗證來保護資源,除非您使用連線群組,否則請勿將此屬性設定為 true ,如以下所述。

如果您的效能問題,而且您的應用程式在具有整合式Windows 驗證的 Web 服務器上執行,您可以考慮啟用此機制。

啟用此設定會將系統開啟為安全性風險。 如果您將 屬性設定 UnsafeAuthenticatedConnectionSharingtrue 請務必採取下列預防措施:

  • ConnectionGroupName使用 屬性來管理不同使用者的連線。 這可避免非驗證應用程式可能使用連線。 例如,使用者 A 應該具有與使用者 B 不同的唯一連線組名。這會為每個使用者帳戶提供隔離層。

  • 在受保護的環境中執行您的應用程式,以協助避免可能的連線惡意探索。

如果您控制後端伺服器,您可以考慮關閉驗證持續性。 這會將效能提升到較低程度,但較安全。 如需詳細資訊,請參閱 AuthPersistence

注意

如果 和 UnsafeAuthenticatedConnectionSharingPreAuthenticate 設定為 true ,則每個要求都會使用來自不安全集區的連線來傳送,但具有授權標頭。

適用於