Мне было интересно, как я могу проверить, есть ли у метода контроллера определенный атрибут, например AllowAnonymous
, внутри OnActionExecuting
метода переопределения.
Я пробовал с этим:
var methodAttr = Attribute.GetCustomAttribute(context.ActionDescriptor.GetType(), typeof(AuthorizeAttribute));
Но я всегда получаю нулевое значение.
Пробовал также с этим:
MethodBase method = MethodBase.GetCurrentMethod();
AuthorizeAttribute methodAttr = (AuthorizeAttribute)method.GetCustomAttributes(typeof(AuthorizeAttribute), true)[0];
Но когда нет AuthorizeAttribute, я получаю исключение вне диапазона.
Как я могу сделать эту проверку?