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)
注解
该ValidationKey属性用于enableViewStateMACtrue创建消息身份验证代码(MAC),以便 ASP.NET 确定是否篡改了视图状态。 该 ValidationKey 属性还用于生成进程外、特定于应用程序的会话 ID,以确保在应用程序之间隔离会话状态变量。
使用“自动生成”选项指定 ASP.NET 生成随机密钥并将其存储在本地安全机构中。 “自动生成”选项是默认值的一部分。
如果将“IsolateApps”修饰符添加到“AutoGenerate” ValidationKey 值,ASP.NET 使用每个应用程序为每个应用程序生成唯一的 AppDomainAppVirtualPath加密密钥。 这是默认设置。
如果将“IsolateByAppId”修饰符添加到“AutoGenerate” ValidationKey 值,ASP.NET 使用每个应用程序生成唯一的 AppDomainAppId加密密钥。 如果两个不同的应用程序共享虚拟路径(可能是因为这些应用程序在不同的端口上运行),则此标志可用于进一步区分它们。 “IsolateByAppId”标志只能通过 ASP.NET 4.5 来理解,但无论设置 MachineKeySection.CompatibilityMode 如何,都可以使用它。
如果需要支持跨 Web 服务器网络(Web 场)的配置,请手动设置 ValidationKey 属性以确保一致的配置。 有关如何手动生成 DecryptionKey 属性的值的信息,请参阅 How To: Configure MachineKey in ASP.NET 2.0。
此属性通常在 Web.config 文件的 machineKey 元素的属性中validationKey以声明方式设置。