如何在ASP.NET Core中创建自定义授权(ASP.NET 5)
问题描述:
我想在控制中自定义实现[Authorize]属性。如何在ASP.NET Core中创建自定义授权(ASP.NET 5)
这就是我所做的。
-
StartupClass在ConfigureServices
services.AddAuthorization(options => { options.AddPolicy("Authorize", policy => { policy.AddRequirements(new MyRequirement()); }); });
-
MyRequirement
public class MyRequirement : AuthorizationHandler<MyRequirement>, IAuthorizationRequirement { protected override void Handle(AuthorizationContext context, MyRequirement requirement) { //some work //if shloud be authorized context.Succeed(requirement); } }
-
的TestController
[Authorize("Authorize")] [Route("api/[controller]")] public class TestController : Controller { ... }
我错过了什么? MyRequirement授权人从不会被调用。 谢谢。
你实际身份验证?在您拥有身份之前,授权不会执行策略。 – blowdart
我不是。看起来我正在寻找基本身份验证中间件.. – Chatumbabub
您的意思是基本的HTTP身份验证或基本身份验证,我想在测试时在每个请求上推送此身份? – blowdart