У меня есть пользовательский атрибут, определенный следующим образом:
public class SkipAuthentication : Attribute
{
}
, и я использовал его для украшения контроллера следующим образом:
[SkipAuthentication]
public class AccountTypeController : Controller
{
// GET: /AccountType/Create
[HttpGet]
public ActionResult Create()
{
try
{
return View();
}
catch (Exception ex)
{
ViewBag.ResMessege = ResMessege.getDanger(ex.Message);
return View();
}
}
}
Теперь я ожидаю, что он должен быть применен квсе действия внутри контроллера,
public class FebTechFilters : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (filterContext.ActionDescriptor.GetCustomAttributes(typeof(SkipAuthentication), false).Any())
{
return;
}
if (null == filterContext.HttpContext.Session.Contents["UserId"])
{
filterContext.Result = new RedirectResult("~/Login/Index");
}
base.OnActionExecuting(filterContext);
}
}
, но когда я вызываю это, filterContext.ActionDescriptor.GetCustomAttributes(typeof(SkipAuthentication), false).Any()
я получаю это как false
Чего мне не хватает?