Я пытаюсь определить, имеет ли метод API атрибут авторизации, и, хотя я легко могу найти, что с помощью MethodInfo
, я не могу найти способ обработать проверку, когда Authorize
установлен на уровне контроллера.
В основном мне нужно знать, имеет ли контроллер или метод атрибут Authorize
.
public class SecurityRequirementsOperationFilter : IOperationFilter
{
public void Apply(Operation operation, OperationFilterContext context)
{
var hasAuthorizeAttribute = context.MethodInfo
.GetCustomAttributes(true)
.OfType<AuthorizeAttribute>()
.Any();
if (!hasAuthorizeAttribute)
{
operation.Security = new List<IDictionary<string, IEnumerable<string>>>();
}
}
}