我无法在ASP .NET Core中为Razor页面上的操作实现基于策略的授权。
我阅读了此授权的详尽文档,并将其示例用作指南。
Razor页面操作代码:
[Authorize(Policy = "test")]
public async Task<IActionResult> OnGetCreateAsync(string id)
服务配置中的代码:
_ = services.AddAuthorization(options => {
options.AddPolicy("test", policy =>
policy.RequireAssertion(context =>
false));
});
我期望如果我调用该操作或端点服务,例如:
GET /Account?handler=Create
如果“test”策略规定每个人都未经授权,则请求将以403状态响应被拒绝。然而,在实际操作中,该操作成功调用。
UseAuthentication()
中间件,才能使这些授权策略真正起作用。 - Vidmantas Blazevicius