machineKey 元素(ASP.NET 设置架构)
更新:2007 年 11 月
对密钥进行配置,以便将其用于对 Forms 身份验证 Cookie 数据和视图状态数据进行加密和解密,并将其用于对进程外会话状态标识进行验证。
configuration 元素(常规设置架构)
system.web 元素(ASP.NET 设置架构)
machineKey 元素(ASP.NET 设置架构)
<machineKey
validationKey="AutoGenerate,IsolateApps" [String]
decryptionKey="AutoGenerate,IsolateApps" [String]
validation="SHA1" [SHA1 | MD5 | 3DES | AES]
decryption="Auto" [Auto | DES | 3DES | AES]
/>
属性和元素
下面几部分描述了属性、子元素和父元素。
属性
属性 |
说明 |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
decryption |
可选的 String 属性。 指定用于对数据进行解密的哈希算法的类型。 此属性可以具有下列值之一。
|
||||||||||||
decryptionKey |
必选的 String 属性。 指定用于对数据进行加密和解密的密钥或者生成该密钥的进程。当 validation 设置为 TripleDES 字段时,该属性用于 Forms 身份验证加密和解密以及视图状态加密。 decryptionKey 值的 IsolateApps 修饰符指示 ASP.NET 使用应用程序的 ID 为每个应用程序生成唯一的加密密钥。IsolateApps 作为一部分包含在默认值中。 如果您需要在 Web 服务器网络(网络场)中支持配置,请手动设置此属性以确保配置保持一致。 此属性可以具有下列值之一。默认值为 AutoGenerate,IsolateApps。
|
||||||||||||
validation |
必选的 MachineKeyValidation 属性。 指定用来验证数据的加密类型。 此属性可以具有下列值之一。默认值为 SHA1。 |
||||||||||||
validationKey |
必选的 String 属性。 指定用于验证加密数据的密钥。当 enableViewStateMAC 为 true 时,validationKey 用于创建消息身份验证代码 (MAC),以确保视图状态未被篡改。validationKey 还可用于生成进程外、应用程序特定的会话 ID,以确保每个会话具有独立的会话状态变量。 validationKey 值的 IsolateApps 修饰符指示 ASP.NET 使用应用程序的 ID 为每个应用程序生成唯一的加密密钥。IsolateApps 作为一部分包含在默认值中。 如果您需要在 Web 服务器网络(网络场)中支持配置,请手动设置 validationKey 属性以确保配置保持一致。 此属性可以具有下列值之一。默认值为 "AutoGenerate,IsolateApps"。
|
子元素
无。
父元素
元素 |
说明 |
---|---|
configuration |
指定公共语言运行库和 .NET Framework 应用程序所使用的每个配置文件中均需要的根元素。 |
system.web |
指定配置文件中 ASP.NET 配置设置的根元素,并且包含各种配置元素,这些元素配置 ASP.NET Web 应用程序并控制这些应用程序的行为方式。 |
备注
下面的代码示例演示如何将 validationKey 和 decryptionKey 属性都设置为 AutoGenerate。并且,指定了 isolateApps 值,以便为服务器上的每个应用程序生成一个唯一的密钥。
<machineKey
validationKey="AutoGenerate,IsolateApps"
decryptionKey="AutoGenerate,IsolateApps"
validation="SHA1"
/>
元素信息
配置节处理程序 |
|
配置成员 |
|
可配置的位置 |
Machine.config 文件 根级 Web.config 文件 应用程序级 Web.config 文件 |
要求 |
Microsoft Internet 信息服务 (IIS) 5.0、5.1 或 6.0 .NET Framework 版本 1.0、1.1 或 2.0 |