如何生成 IIS7 中的机器密钥
机器密钥生成一个唯一密钥,可帮助您保护表单身份验证 cookie 和页面级别的视图状态。
引言
机器密钥生成一个唯一的密钥,这有助于单表单,因为它有助于保护您的表单身份验证 Cookie 和页面级别的 View State。当用户发送请求,服务器 A 接收到包含表单身份验证 Cookie 的响应时,如果再次发送请求,但这次由服务器 B 接收,并且尝试解密表单身份验证 Cookie,则可能会失败,因为服务器 A 使用其自身的唯一机器密钥,而服务器 B 使用其自身的唯一机器密钥来解密表单身份验证 Cookie。为了避免此问题,请在所有服务器上使用相同的机器密钥。
在 IIS7 中生成机器密钥
让我们看一个如何为网站生成机器密钥的例子。
- 从“**管理工具**”->“**Internet Information Services (IIS) 管理器**”打开您的 **IIS 管理器**。
- 在窗口左侧的“**连接**”窗格中,单击网站。
- 双击“**机器密钥**”图标,如下所示。
- 您将看到机器密钥页面,默认加密方法是 **SHA1**,您可以从下拉列表中更改它,如图所示。
- 从 IIS 窗口左侧的“**操作**”窗格中单击“**生成密钥**”,如图所示。
- 单击“**应用**”,如图所示。
- 将在“**警报**”窗格中显示消息:“更改已成功保存。”
- 打开您的 **Web.Config** 文件,您将在
<**system**.web>
部分内找到<**machineKey**>
,如下所示。
Web.Config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<machineKey decryptionKey="43B77C7F7CCC3CDEF3AD3493D520C203D0E4A5D8EFB9FA52"
validationKey="7225EEAECE4ACD976C7F13D47C4BAC40C88EC24535F9B639D1CBDCB4A342163CCFB6
D7B86602F03F77E5A149055E30A11771225ED83D03FB41B01A3E93E921F9" />
</system.web>
</configuration>
**注意**:将此机器密钥应用于所有 Web 场服务器;这是我生成的机器密钥。