Hul*_*ulk 3 authorization asp.net-authorization asp.net-core-mvc asp.net-core asp.net-core-2.0
在我的ConfigureServices中,我创建了一个基于策略的授权
services.AddAuthorization(options =>
{
options.AddPolicy("test", policy => policy.Requirements.Add(new TestRequirement()));
});
Run Code Online (Sandbox Code Playgroud)
并按如下所示注册处理程序
services.AddSingleton<IAuthorizationHandler, CustomAuthorizationHandler>();
Run Code Online (Sandbox Code Playgroud)
而不是像这样在所有控制器上应用授权
[Authorize(Policy = "test")]
Run Code Online (Sandbox Code Playgroud)
有没有办法像MVC 5中那样全局应用授权属性?
我试过了
services.AddMvc(config=>config.Filters.Add(new AuthorizeAttribute("test")))
Run Code Online (Sandbox Code Playgroud)
但我认为这里有问题。
您应该首先AuthorizationPolicyBuilder
在ConfigureServices中使用创建策略,然后可以执行以下操作:
services.AddMvc(config =>
{
config.Filters.Add(new AuthorizeFilter(policy));
});
Run Code Online (Sandbox Code Playgroud)
政策在哪里是您的测试政策...
归档时间: |
|
查看次数: |
5954 次 |
最近记录: |