用于ASP.NET中的MachineKey

Ben*_*dox 16 c# asp.net cookies viewstate machinekey

机器密钥在asp.net中有哪些不同的用途?我认为以下是正确的,但认为可能还有更多.

  1. 多个应用程序可以使用相同的cookie
  2. 多个服务器可以使用相同的视图状态

Ser*_*ian 20

MachineKey用于:

  • ViewState加密和验证
  • 表单身份验证(或联合身份验证)使用此密钥对身份验证票证进行签名

在多个服务器上安装Web App需要在所有服务器上配置相同的计算机密钥才能使负载平衡正常工作.

要查看所有详细信息,请参阅:MSDN如何:在ASP.NET 2.0中配置MachineKey


egl*_*ius 17

机器密钥还用于加密/解密webresources.axd参数.

即使在单个服务器上,也应该配置机器密钥,因为app域的任何回收都会在设置为auto时生成新密钥.这会导致下一个回发仅针对回收之前呈现的页面,导致视图状态验证错误,并且还会在此期间发出资源问题.