MachineKeySection.ValidationKey 属性

定义

获取或设置键,用来验证 Forms 身份验证和视图状态数据的代码,或生成密钥的过程。

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)

注解

ValidationKey当 为 trueenableViewStateMAC,将使用 属性创建消息身份验证代码 (MAC) ,以便 ASP.NET 确定是否篡改了视图状态。 属性 ValidationKey 还用于生成进程外特定于应用程序的会话 ID,以确保会话状态变量在应用程序之间隔离。

使用“AutoGenerate”选项指定 ASP.NET 生成随机密钥并将其存储在本地安全机构中。 “AutoGenerate”选项是默认值的一部分。

如果将“IsolateApps”修饰符添加到“AutoGenerate” ValidationKey 值,ASP.NET 使用每个应用程序的 生成一个唯一的 AppDomainAppVirtualPath加密密钥。 这是默认设置。

如果将“IsolateByAppId”修饰符添加到“AutoGenerate” ValidationKey 值,ASP.NET 使用每个应用程序的 生成一个唯一的 AppDomainAppId加密密钥。 如果两个不同的应用程序共享一个虚拟路径 (可能是因为这些应用程序在不同的端口上运行) ,则可以使用此标志进一步区分它们。 “IsolateByAppId”标志只能由 ASP.NET 4.5 理解,但无论设置如何 MachineKeySection.CompatibilityMode ,都可以使用它。

如果需要支持跨 Web 服务器网络 (Web 场) 的配置,请手动设置 ValidationKey 属性以确保配置一致。 有关如何手动为属性生成值 DecryptionKey 的信息,请参阅 如何:在 ASP.NET 2.0 中配置 MachineKey

此属性通常在 Web.config 文件的 machineKey 元素的 属性中validationKey以声明方式设置。

适用于