我在我的控制器上方同时使用了 Authorized[policy] 和 Authorized[role],我想知道 AND 语句发生(在 Authorized[policy] 和 Authorized[Role] 之间)或 OR 语句。
这实际上取决于哪个版本和什么兼容模式。 目的是策略将始终组合为AND 。
但是,这是不正确的,并且会在 ASP.NET Core 1.0、1.1 和 2.0 中组合为OR 。
我们在 2.1 中发现了这个问题,但因为它是一个破坏性的行为变化,它与 2.1 和 2.2 中的兼容性开关相关联。
在 3.0 中,多个策略总是组合为AND 。
感谢您的回复,但新版本(3.0)什么时候发布?
现在有预览版 - https://dotnet.microsoft.com/download/dotnet-core/3.0
我还没有正式的发布日期可以分享。