Cha*_*bub 7 asp.net asp.net-mvc asp.net-core-mvc asp.net-core asp.net-core-1.0
我想在控件中自定义实现[Authorize]属性.
这就是我做的.
ConfigureServices中的StartupClass
services.AddAuthorization(options =>
{
options.AddPolicy("Authorize", policy =>
{
policy.AddRequirements(new MyRequirement());
});
});
Run Code Online (Sandbox Code Playgroud)MyRequirement
public class MyRequirement : AuthorizationHandler<MyRequirement>, IAuthorizationRequirement
{
protected override void Handle(AuthorizationContext context, MyRequirement requirement)
{
//some work
//if shloud be authorized
context.Succeed(requirement);
}
}
Run Code Online (Sandbox Code Playgroud)的TestController
[Authorize("Authorize")]
[Route("api/[controller]")]
public class TestController : Controller
{
...
}
Run Code Online (Sandbox Code Playgroud)我错过了什么?永远不会调用MyRequirement授权程序.谢谢.
我相信你错过了这一部分:
services.AddSingleton<IAuthorizationHandler, MyRequirementHandler>();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6077 次 |
| 最近记录: |