Вы можете создать политику (например, [Authorize (Policy = "NotFoundPagePlolicy")]), и политика будет зарегистрирована в Startup.cs приложения для выполнения некоторого блока кода.
В Startup / ConfigureServices ( ):
services.AddAuthorization(options =>
{
options.AddPolicy("NotFoundPagePlolicy",
policy => policy.Requirements.Add(new Authorization.NotFoundPagePloliyRequirement()));
});
В контроллере:
[Authorize(Policy = "NotFoundPagePlolicy")]
В NotFoundPagePloliyRequirement.cs:
public class NotFoundPagePloliyRequirement: AuthorizationHandler<NotFoundPagePloliyRequirement>, IAuthorizationRequirement
{
public override void Handle(AuthorizationHandlerContext context, NotFoundPagePloliyRequirement requirement)
{
// Your custom code code
}
}
Подробнее, см. https://docs.microsoft.com/en-us/aspnet/core/security/authorization/policies?view=aspnetcore-3.1