对密钥进行配置,以便将其用于对 Forms 身份验证 Cookie 数据和视图状态数据进行加密和解密,并将其用于对进程外会话状态标识进行验证。
configuration 元素(常规设置架构)??system.web 元素(ASP.NET 设置架构)
????machineKey 元素(ASP.NET 设置架构)
<machineKey validationKey="AutoGenerate|value[,IsolateApps]" decryptionKey="AutoGenerate|value[,IsolateApps]" validation="[SHA1|MD5|3DES]" decryption="[Auto|]" /> |
属性和元素
下面几部分描述了属性、子元素和父元素。
属性
属性 | 说明 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
decryption |
可选的 指定用于对数据进行解密的哈希算法的类型。 此属性可以为下列可能值之一。
此属性是 .NET Framework 2.0 版中的新属性。 默认值为 "Auto"。 |
||||||||||
decryptionKey |
必选的 String 属性。 指定用于对数据进行加密和解密的密钥或者生成该密钥的进程。当 validation 设置为 TripleDES 字段时,该属性用于 Forms 身份验证加密和解密以及视图状态加密。 如果向此属性添加 IsolateApps 修饰符,ASP.NET 将使用每个应用程序的应用程序 ID 为每个应用程序生成一个唯一的加密密钥。IsolateApps 也是默认值的一部分。 如果您需要在 Web 服务器网络(网络场)中支持配置,请手动设置此属性以确保配置保持一致。 此属性可以为下列可能值之一。
默认值为 "AutoGenerate,IsolateApps"。 |
||||||||||
validation |
必选的 指定用来验证数据的加密类型。 此属性可以为下列可能值之一。
默认值为 "SHA1"。 |
||||||||||
validationKey |
必选的 String 属性。 指定用于验证加密数据的密钥。当 enableViewStateMAC 为 true 时,validationKey 用于创建消息身份验证代码 (MAC),以确保视图状态未被篡改。validationKey 还可用于生成进程外、应用程序特定的会话 ID,以确保每个会话具有独立的会话状态变量。 如果向 ValidationKey 值添加 IsolateApps 修饰符,ASP.NET 将使用每个应用程序的应用程序 ID 为每个应用程序生成一个唯一的加密密钥。IsolateApps 也是默认值的一部分。 如果您需要在 Web 服务器网络(网络场)中支持配置,请手动设置 ValidationKey 属性以确保配置保持一致。 validationKey 属性可以为下列可能值之一。
默认值为 "AutoGenerate,IsolateApps"。 |
子元素
无。
父元素
元素 | 说明 |
---|---|
configuration |
指定公共语言运行库和 .NET Framework 应用程序所使用的每个配置文件中均需要的根元素。 |
system.web |
指定配置文件中 ASP.NET 配置设置的根元素,并且包含各种配置元素,这些配置元素配置 ASP.NET Web 应用程序并控制这些应用程序的行为方式。 |
备注
machineKey 元素对密钥进行配置,以便将其用于对 Forms 身份验证 Cookie 数据和视图状态数据进行加密和解密,并将其用于对进程外会话状态标识进行验证。
默认配置
下面的默认 machineKey 元素不是在 Machine.config 文件或根 Web.config 文件中显式配置的。但是,它是应用程序返回的默认配置。
? | ![]() |
---|---|
<machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps" validation="SHA1" decryption="Auto" /> |
在 .NET Framework 1.1 版中,下面的默认 machineKey 元素在 Machine.config 文件中配置。
? | ![]() |
---|---|
<machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps" validation="SHA1" /> |
在 .NET Framework 1.0 版中,下面的默认 machineKey 元素在 Machine.config 文件中配置。
? | ![]() |
---|---|
<machineKey validationKey="AutoGenerate" decryptionKey="AutoGenerate" validation="SHA1" /> |
示例
下面的代码示例演示如何将 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 Microsoft Visual Studio 2003 或 Visual Studio 2005 |
请参见
任务
参考
system.web 元素(ASP.NET 设置架构)configuration 元素(常规设置架构)
概念
其他资源
常规配置设置 (ASP.NET)ASP.NET 配置设置
