共用方式為


MachineKeySection.ValidationKey 屬性

定義

取得或設定用來驗證表單驗證和檢視狀態資料的金鑰,或是產生金鑰的處理序。

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

屬性值

String

金鑰值,或是表示如何產生金鑰的值。 預設為 "AutoGenerate,IsolateApps"。

屬性

範例

下列範例示範如何使用程式碼來設定 ValidationKey 屬性。 此範例是針對 類別提供的較大範例的 MachineKeySection 一部分。

// Display ValidationKey property.
Console.WriteLine("ValidationKey: {0}",
  configSection.ValidationKey);
' Display ValidationKey property.
Console.WriteLine("ValidationKey: {0}", _
 configSection.ValidationKey)

備註

ValidationKey當 是 true 建立訊息驗證碼 (MAC) ,讓 ASP.NET 判斷檢視狀態是否已遭到竄改時 enableViewStateMAC ,就會使用 屬性。 屬性 ValidationKey 也可用來產生跨進程、應用程式特定的會話識別碼,以確保會話狀態變數在應用程式之間隔離。

使用 [自動產生] 選項來指定 ASP.NET 產生隨機金鑰,並將它儲存在本機安全性授權單位中。 「AutoGenerate」 選項是預設值的一部分。

如果您將 「IsolateApps」 修飾詞新增至 「AutoGenerate」 ValidationKey 值,ASP.NET 使用每個應用程式的 AppDomainAppVirtualPath 產生唯一的加密金鑰。 這是預設值。

如果您將 「IsolateByAppId」 修飾詞新增至 「AutoGenerate」 ValidationKey 值,ASP.NET 使用每個應用程式的 AppDomainAppId 產生唯一的加密金鑰。 如果兩個不同的應用程式共用虛擬路徑 (,可能是因為這些應用程式在不同的埠上執行) ,則可以使用此旗標進一步區分它們彼此。 只有 ASP.NET 4.5 才能瞭解 「IsolateByAppId」 旗標,但不論設定為何 MachineKeySection.CompatibilityMode ,都可以使用它。

如果您需要支援跨 Web 服務器網路的組態, (Web 服務器陣列) ,請手動設定 ValidationKey 屬性以確保設定一致。 如需如何手動產生屬性值 DecryptionKey 的資訊,請參閱How To: Configure MachineKey in ASP.NET 2.0

這個屬性通常會以宣告方式 validationKey 在Web.config檔案之 machineKey 元素的 屬性中設定。

適用於