Because the place where MyCustomPolicyHandler
is injected is misplaced. It needs to be placed outside of AddAuthorization
.
services.AddAuthorization(options =>
{
options.AddPolicy("MyCustomPolicy", policy =>
{
policy.Requirements.Add(new RequirementA());
//...
});
});
services.AddScoped<IAuthorizationHandler, MyCustomPolicyHandler>();
CLICK HERE to find out more related problems solutions.