我正在将我们的托管环境迁移到一个全新的数据中心,其中包含新的盒子,硬件和软件......整个交易。
我们的网站cookie是使用machineKey加密的,所以当我向我的域发出请求并将其指向新的Web服务器时(通过覆盖本地主机文件),我收到错误,因为cookie无法解密,因为机器钥匙是不同的。我想避免频繁的用户第一次到达新服务器时可能遇到的任何问题。
据我所知,此时我认为我需要在新服务器上从当前服务器设置相同的MachineKey。这样,当过去带有cookie的访问者到达我们的新服务器所服务的网站时,cookie将使用加密后的MachineKey正确解密,然后正确登录。
我的问题是在哪里可以找到我的MachineKey值(在IIS 6 win2k3服务器中),所以我可以使用该值在我的新服务器上静态设置它?我已经提取了我的machine.config文件,但它没有指定密钥,它只指定了可以定义密钥的configSection。它不在我的应用程序或其他地方的web.config中。
我确实在一些MachineKey和Web Garden问题上找到this great article(这可以解释我在机器密钥方面遇到的其他一些错误)。
更新 我回到这个问题,我仍然面临着类似的问题。我在IIS6服务器上自动生成了MachineKey,但我需要获得那个确切的密钥,以便我可以明确地设置它,而不再让它自动生成。
感谢任何帮助...
答案 0 :(得分:1)
你见过this吗?
看起来你可以通过查看
来检索它System.Web.Configuration.MachineKeySecion.DecryptionKeyInternal
和System.Web.Configuration.MachineKeySecion.ValidationKeyInternal
但这些是内部的,所以你必须使用反射。
答案 1 :(得分:0)
您可以使用两个machineKey。我不确定您使用哪一个加密。但是这里有两个机器密钥......
HTH, 拉胡