加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET中的自动机器密钥生成

发布时间:2020-12-16 07:39:26 所属栏目:asp.Net 来源:网络整理
导读:默认情况下,机器密钥设置是自动生成和每个应用程序(AutoGenerate,IsolateApps). MSDN声明解密密钥和验证密钥基于Web应用程序ID.我在我的IIS 7服务器上托管了两个ASP.NET MVC 2站点,但发现机器密钥是相同的.我通过使用反射来验证这一点,以查看ValidationKeyIn
默认情况下,机器密钥设置是自动生成和每个应用程序(AutoGenerate,IsolateApps). MSDN声明解密密钥和验证密钥基于Web应用程序ID.我在我的IIS 7服务器上托管了两个ASP.NET MVC 2站点,但发现机器密钥是相同的.我通过使用反射来验证这一点,以查看ValidationKeyInternal和DecryptionKeyInternal属性.我还通过在一个站点上生成防伪令牌cookie并将其传递给另一个站点来测试它,并且可以读取cookie.

经过反复试验,我发现如果应用程序池标识发生更改,密钥将会更改.这两个站点具有相同的密钥,因为它们在网络服务凭证下运行.一旦我更改了一个站点的应用程序池标识,他们就会开始使用不同的验证/加密密钥.

但是,在将两个站点部署到另一个服务器之后,即使更改了应用程序池标识,我也总是获得相同的机器密钥.这两台服务器具有相同的硬件和软件配置.

我想知道是否存在关于如何在AutoGenerate,IsolateApps设置下生成机器密钥的实际逻辑的参考.在Web上,有很多文章讨论在Web场方案中设置相同的机器密钥.但我在对面遇到了问题.每个Web应用程序自动密钥生成似乎无法正常工作.以前有没有人有同样的问题?

解决方法

您是否有可能覆盖IIS设置的web.config设置?这可能是一个因素,好像你告诉服务器使用特定的密钥,然后他们可能会这样做.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读