MachineKeySection.ValidationKey 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定用來驗證表單驗證和檢視狀態資料的金鑰,或是產生金鑰的處理序。
public:
property System::String ^ ValidationKey { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.TypeConverter(typeof(System.Configuration.WhiteSpaceTrimStringConverter))]
[System.Configuration.ConfigurationProperty("validationKey", DefaultValue="AutoGenerate,IsolateApps")]
[System.Configuration.StringValidator(MinLength=1)]
public string ValidationKey { get; set; }
[<System.ComponentModel.TypeConverter(typeof(System.Configuration.WhiteSpaceTrimStringConverter))>]
[<System.Configuration.ConfigurationProperty("validationKey", DefaultValue="AutoGenerate,IsolateApps")>]
[<System.Configuration.StringValidator(MinLength=1)>]
member this.ValidationKey : string with get, set
Public Property ValidationKey As String
屬性值
金鑰值,或是表示如何產生金鑰的值。 預設為 "AutoGenerate,IsolateApps"。
- 屬性
範例
下列範例示範如何使用程式代碼來設定 ValidationKey 屬性。 這個範例是提供給 類別之較大範例的 MachineKeySection 一部分。
// Display ValidationKey property.
Console.WriteLine("ValidationKey: {0}",
configSection.ValidationKey);
' Display ValidationKey property.
Console.WriteLine("ValidationKey: {0}", _
configSection.ValidationKey)
備註
當 enableViewStateMAC
是 true
建立訊息驗證碼 (MAC) 時,會ValidationKey使用 屬性,讓 ASP.NET 判斷檢視狀態是否已遭到竄改。 屬性 ValidationKey 也可用來產生跨進程的應用程式特定會話標識碼,以確保會話狀態變數在應用程式之間隔離。
使用 [自動產生] 選項可指定 ASP.NET 產生隨機金鑰,並將它儲存在本機安全性授權單位中。 [自動產生] 選項是預設值的一部分。
如果您將 「IsolateApps」 修飾詞新增至 「AutoGenerate」 ValidationKey 值,ASP.NET 使用每個應用程式的 AppDomainAppVirtualPath產生唯一的加密密鑰。 這是預設值。
如果您將 「IsolateByAppId」 修飾詞新增至 「AutoGenerate」 ValidationKey 值,ASP.NET 使用每個應用程式的 AppDomainAppId產生唯一的加密密鑰。 如果兩個不同的應用程式共用虛擬路徑 (可能是因為這些應用程式在不同的埠上執行) ,則此旗標可用來進一步區分它們彼此。 只有 ASP.NET 4.5 才能瞭解 “IsolateByAppId” 旗標,但不論設定為何 MachineKeySection.CompatibilityMode ,都可以使用它。
如果您需要在 Web 伺服器陣列) (網路支援設定,請手動設定 ValidationKey 屬性以確保一致的設定。 如需如何手動產生屬性值 DecryptionKey
的資訊,請參閱 How To: Configure MachineKey in ASP.NET 2.0。
這個屬性通常會以宣告方式在 Web.config 檔案之machineKey元素的屬性中validationKey
設定。