【发布时间】:2019-12-20 00:03:59
【问题描述】:
我无法在 ASP .NET Core 中为剃须刀页面上的操作实施基于策略的授权。
我通读了this comprehensive document on authorization 并将其示例作为指导。
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
然后请求将被拒绝并返回 403 状态响应,因为“测试”政策规定每个人都是未经授权的。但是在实际操作中,动作是成功调用的。
【问题讨论】:
-
你能在 Startup 中显示你的 Configure 方法吗?
-
您还需要使用
UseAuthentication()中间件才能使这些授权策略真正发挥作用。 -
你添加UseAuthentication()中间件了吗
-
是的。我添加了身份验证中间件。
标签: c# asp.net-core razor-pages