我有一个运行在ASP.NET 4.5.1上的WebForms应用程序,并且一直使用基于cookie的身份验证和FormsAuthentication API (但是,没有使用Identity API;而是“手动”管理用户和会话)。这个应用程序运行在多个服务器上,为了使cookie在所有服务器上工作,我已经将web.config-文件中的所有服务器的机器键设置为相同的值。
为了能够与运行在.NET Core1.0上的MVC应用程序共享身份验证cookie,我将从FormsAuthentication API转移到基于Katana/OWIN的cookie身份验证。虽然我已经按照https://github.com/blowdart/idunno.CookieSharing的步骤在一台机器上完成了cookie的身份验证和共享,但我不知道如何在服务器之间共享密钥。所有示例都通过指向包含密钥文件的路径来设置基于cookie的身份验证。如果我能够手动生成密钥并将这些密钥复制到所有服务器上,这将是可行的。但是,我不知道如何生成这些关键文件( 文档似乎没有提到如何这样做)。如一些例子所示,将关键文件放入共享文件夹是不可能的,因为服务器位于完全独立的网络上(这在将来可能会改变,但现在不会改变)。
是否有办法在多台服务器之间与我的安装程序共享密钥(即不可能共享文件夹)?
发布于 2016-10-10 17:24:23
大卫,现在看来你是对的,很难走出这个包袱。1.1的记录计划是很容易访问KeyVault和AzureStorage的。现在,我认为您可能需要实现KeyManager的一些部分(很可能是IXMLRepository) --参见:我感兴趣的是,为什么不同域上的机器需要共享密钥?
https://stackoverflow.com/questions/39827385
复制相似问题