我有一个在.NET 4.5.1上运行的ASP.NET WebForms应用程序,并且一直在使用FormsAuthentication API进行基于cookie的身份验证(不使用Identity API;而是“手动”管理用户和会话)。此应用程序在多个服务器上运行,为了使cookie能够在所有服务器上运行,我已将机器密钥设置为web.config文件中所有服务器的相同值。
为了能够与运行在.NET Core 1.0上的MVC应用程序共享身份验证cookie,我将从FormsAuthentication API转移到基于Katana / OWIN的cookie身份验证。虽然我按照https://github.com/blowdart/idunno.CookieSharing中的步骤获得了在单台计算机上运行的身份验证和共享,但我不确定如何在服务器之间共享密钥。所有示例都通过指向包含密钥文件的路径来设置基于cookie的身份验证。如果我能够手动生成密钥并将这些密钥复制到所有服务器,这将起作用。我不知道如何生成这些密钥文件(而docs似乎没有提到如何执行此操作)。如某些示例所示,将密钥文件放在共享文件夹中是不可能的,因为服务器位于完全独立的网络上(这可能在将来发生变化,但现在不会发生变化)。
有没有办法在我的设置下共享多个服务器之间的密钥(即没有共享文件夹的可能性)?
答案 0 :(得分:1)