65.9K
CodeProject 正在变化。 阅读更多。
Home

如何生成 IIS7 中的机器密钥

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.33/5 (8投票s)

2011 年 7 月 6 日

CPOL

1分钟阅读

viewsIcon

91780

机器密钥生成一个唯一密钥,可帮助您保护表单身份验证 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 场服务器;这是我生成的机器密钥。

链接

© . All rights reserved.