Chciałbym mieć niestandardową implementację atrybutu [Authorize] w kontrolkach.Tworzenie niestandardowej autoryzacji w środowisku ASP.NET Core (ASP.NET 5)
Oto, co zrobiłem.
StartupClass w 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 { ... }
Czego mi brakuje? Mysz autoryzacji MyRequirement nigdy nie jest wywoływana. Dziękuję.
Czy rzeczywiście uwierzytelnione? Autoryzacja nie będzie działać zgodnie z zasadami, dopóki nie uzyskasz tożsamości. – blowdart
Nie jestem. Wygląda na to, że szukam oprogramowania pośredniczącego do uwierzytelniania podstawowego. – Chatumbabub
Masz na myśli podstawowe, jak w uwierzytelnianiu HTTP, czy podstawowe w tym, co chcę, aby tę tożsamość umieścić na każdej prośbie podczas testu? – blowdart