我有一个问题(或者至少我认为我有)。我正在尝试在其 web.config 中设置站点的机器密钥,以便为将来在站点之间共享表单身份验证数据做准备。我首先在 web.config 中设置以下内容:
<machineKey validationKey="<SOME_VALUE>" decryptionKey="<SOME_VALUE>" validation="SHA1" decryption="AES"/>
作为测试,我编写了以下代码来测试 web.config 中的新 machineKey 元素:
var machineConfigMachineKey = (MachineKeySection)WebConfigurationManager.OpenMachineConfiguration().SectionGroups["system.web"].Sections["machineKey"];
var webConfigMachineKey = (MachineKeySection)WebConfigurationManager.OpenWebConfiguration("").SectionGroups["system.web"].Sections["machineKey"];
Response.Write("<pre>");
Response.Write("<b>machine.config decrypt: </b>" + machineConfigMachineKey.DecryptionKey + "<br />");
Response.Write("<b>web.config decrypt: </b>" + webConfigMachineKey.DecryptionKey + "<br />");
Response.Write("<br />");
Response.Write("<b>machine.config validate: </b>" + machineConfigMachineKey.ValidationKey + "<br />");
Response.Write("<b>web.config validate: </b>" + webConfigMachineKey.ValidationKey + "<br />");
Response.Write("</pre>");
Response.End();
...导致此显示:
machine.config decrypt: AutoGenerate,IsolateApps
web.config decrypt: AutoGenerate,IsolateApps
machine.config validate: AutoGenerate,IsolateApps
web.config validate: AutoGenerate,IsolateApps
显然,我对此感到非常困惑,因为我希望在 web.config 中看到来自新 machineKey 元素的自定义值,而不是“AutoGenerate,IsolateApps”。
我是否在这里遗漏了一些对我来说应该非常明显的东西?
谢谢 :)