我们已经将 ASP.NET 核心应用程序部署到 ARR 服务器后面的负载平衡环境中,并且我们没有使用粘性会话。
我们正在使用cookie身份验证。
在应用的页脚中,我们输出当前经过身份验证的用户,以便我们可以知道谁经过身份验证。
当我们对用户进行身份验证时,他们已登录,重定向到目标页面,然后重定向回登录页面。回到登录页面后,我们可以看到用户已经过身份验证,因为他们的用户名在页脚中,但他们又回到了登录页面。
如果我们启用粘性会话,这个问题就会消失。
我们认为这可能与数据保护密钥有关,因此我们添加了以下内容:
services.AddDataProtection()
.SetApplicationName("MyApp")
.PersistKeysToFileSystem(new DirectoryInfo(@"\Keys"));
这取自: https://learn.microsoft.com/en-us/aspnet/core/security/cookie-sharing?view=aspnetcore-3.1
但我们仍然有同样的问题。
哪些配置不正确/我应该调查什么?
问题是由于我不小心交换了
app.UseAuthentication();
app.UseAuthorization();