Wer*_*rVA 56 encryption asp.net-mvc machinekey
我在使用身份验证的MVC 4站点上工作.该站点要求我指定机器密钥值.我通过IIS接口取消选择"在运行时自动生成",生成键值并选择"为每个应用程序生成唯一键"
web.config条目如下所示:
<machineKey decryption="DES" decryptionKey="{hex-key value},IsolateApps"
validationKey="{hex-key value},IsolateApps" />;
Run Code Online (Sandbox Code Playgroud)
虽然这似乎在另一个Web项目上正常工作,但它导致我正在处理的开发机器上的"解密密钥指定了无效的十六进制字符"错误(在IIS-Express和IIS 7.5中).
",IsolateApps"
从键值中删除可以解决问题,但由于我在生产中需要这个选项,所以我现在不想删除它只是为了在部署时遇到这个问题.
是什么赋予了?开发框是一个带有.net 2.0和.net 4.0的SQL 2008 R2框.
Joe*_*ley 121
该IsolateApps
修改使ASP.NET为您的服务器上的每个应用程序的唯一关键.这仅适用于在运行时使ASP.NET自动生成密钥的情况.
如果您没有让ASP.NET自动生成密钥,而是使用指定密钥decryptionKey="{hex-key value}"
,那么让ASP.NET为每个应用程序使用不同密钥的方法是在每个应用程序的Web中指定一个不同的密钥.配置.
IIS配置GUI允许您使用显式键和IsolateApps
修饰符创建Web.config ,这是无效的,在我看来是配置GUI中的错误.