MachineKeySection.ValidationKey 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置键,用来验证 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该enableViewStateMAC``true
属性用于创建消息身份验证代码 (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
设置。