У меня есть роль по умолчанию для всех контроллеров, настроенных в моем global.asax
protected override void Configure(HttpConfiguration config)
{
//Note: Client Authentication Filter is just a fancy AuthorizeAttribute
config.Filters.Add(new ClientAuthenticationFilter(APIRoles.MYAPI));
}
Это добавляет требование к роли для всех контроллеров. Я хотел бы переопределить эту роль для конкретного контроллера
public class MFAController : ApiController
{
[HttpGet]
[Route(AuthAPIRoutes.GET_MFA_DEVICES)]
[Authorize(Roles = "MyCustomRoles")]
public MFAMethodDTO[] GetMultiFactorMethods()
{
return GlobalFactory<IMFASecurityService>.Instance.GetMultiFactorMethods();
}
//...
}
Однако, когда я делаю это. Я получаю сообщение об ошибке, поскольку в моей роли отсутствует исходная роль APIRoles.MYAPI. Есть ли способ по умолчанию переопределить атрибуты AuthorizationAtrributes для контроллеров, чтобы они имели приоритет над глобальным фильтром?