IIS Windows身份验证中断.NET核心内存缓存

IIS Windows身份验证中断.NET核心内存缓存,.net,asp.net-core,iis,caching,memory,.net,Asp.net Core,Iis,Caching,Memory,my.NET Core(2.1)应用程序的安全性利用内存缓存(Microsoft.Extensions.caching.memory)将单个用户访问存储在内存中(15分钟过期),以减少对数据库的调用 这在本地运行并部署到我们的开发环境中非常有效。然而,我只是将应用程序部署到我们的沙盒环境中,而缓存根本不起作用(在沙盒环境中) 在查看IIS后,我发现服务器级别的Windows Authnetation设置在开发环境中设置为disabled,但在沙盒环境中设置为enabled。我在沙盒中禁用了这个设

my.NET Core(2.1)应用程序的安全性利用内存缓存(Microsoft.Extensions.caching.memory)将单个用户访问存储在内存中(15分钟过期),以减少对数据库的调用

这在本地运行并部署到我们的开发环境中非常有效。然而,我只是将应用程序部署到我们的沙盒环境中,而缓存根本不起作用(在沙盒环境中)

在查看IIS后,我发现服务器级别的Windows Authnetation设置在开发环境中设置为disabled,但在沙盒环境中设置为enabled。我在沙盒中禁用了这个设置,它修复了这个问题。虽然将问题缩小很好,但我希望避免禁用此设置,因为这些服务器上运行着十几个其他应用程序


有什么想法吗?

那可能是在转移视线。您的应用程序是否也使用Windows身份验证?如果是这样的话,我怀疑这一个比你的个人帐户更受欢迎,你的Windows身份验证被用作默认方案,而你的其他人在获取id或身份时却不是这样,你将得到错误的主要用户。如果是这样,请尝试更改默认身份验证方案()。您可以通过
.AddAuthorization(IdentityConstants.ApplicationScheme)
(基本上是
CookiePrefix+”.Application“
()这是奇怪的部分,Windows Auth在应用程序级别启用-这很好。但是,在服务器级别启用Windows Auth会破坏它。我将查看文档。谢谢!