我无法使用策略禁用组件
builder.Services.AddAuthentication(NegotiateDefaults.AuthenticationScheme)
.AddNegotiate();
builder.Services.AddAuthorization(options =>
{
options.FallbackPolicy = new AuthorizationPolicyBuilder().RequireAssertion(x=>false).Build();
});
@attribute [Microsoft.AspNetCore.Authorization.AllowAnonymous]
<AuthorizeView>
<Authorized>
Hello, @context.User.Identity.Name!
</Authorized>
</AuthorizeView>
现在运行项目,一开始你不会看到登录信息。 但如果您快速单击导航栏,您就会看到它。解释一下代码如何进入
<Authorized>
标签
我找到了使用异步重载形式的临时解决方案。 我不知道为什么会这样......
options.FallbackPolicy = new AuthorizationPolicyBuilder().RequireAssertion(x => new Task<bool>(() => false)).Build();
它不是这样工作的:
options.FallbackPolicy = new AuthorizationPolicyBuilder().RequireAssertion(async x => false).Build();
我的脑子坏掉了。 也许这就是心流竞赛的运作方式,而你将以完全不同的方式拥有它