MachineKey 在 ASP.NET 中的用途
-
23-08-2019 - |
题
机器密钥在 ASP.NET 中有哪些不同的用途?我认为以下是正确的,但我认为可能还有更多。
- 多个应用程序可以使用同一个 cookie
- 多个服务器可以使用相同的视图状态
解决方案
机器密钥用于:
- ViewState 加密和验证
- 表单身份验证(或联合身份验证)使用此密钥来签署身份验证票证
在多个服务器上安装 Web 应用程序需要在所有服务器上配置相同的计算机密钥才能使负载平衡正常工作。
要查看所有详细信息,请参阅: MSDN 操作方法:在 ASP.NET 2.0 中配置 MachineKey
其他提示
机器密钥还用于加密/解密 webresources.axd 参数。
即使在单个服务器上,也应该配置机器密钥,因为应用程序域的任何回收都会在设置为自动时生成新密钥。这会导致下一次回发仅针对回收之前呈现的页面,从而导致视图状态验证错误,并且还会导致在此期间出现资源问题。
加密——很常见。
不隶属于 StackOverflow