【发布时间】:2019-10-29 20:46:11
【问题描述】:
我正在尝试确定 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>>>();
}
}
}
【问题讨论】:
标签: asp.net-web-api authorize-attribute