Я хочу создать фильтр действий, который будет использоваться ТОЛЬКО двумя контроллерами в моем приложении ... Этот фильтр действий должен проверяться для каждого действия внутри ДВУ контроллеров.
Вот мой код фильтра действий
public class AllowedToEditEHRFilter : IActionFilter
{
IUnitOfWork unitOfWork;
IRepository<EHR> ehrRepository;
public AllowedToEditEHRFilter(IUnitOfWork dependency)
{
unitOfWork = dependency;
ehrRepository = unitOfWork.EHRs;
}
public void OnActionExecuting(ActionExecutingContext filterContext)
{
int ehrId;
if (int.TryParse(filterContext.HttpContext.Request.QueryString["ehrId"], out ehrId))
{
EHR ehr = ehrRepository.FindById(ehrId);
if (ehr.UserName != Membership.GetUser().UserName)
filterContext.Result = new ViewResult { ViewName = "InvalidOwner" };
}
}
public void OnActionExecuted(ActionExecutedContext filterContext)
{
}
}
Теперь я просто не уверен, как настроить MVC-фреймворк так, чтобы фильтр действий запускался в подходящее время.
Я использую это в качестве ссылки, но это применяет GLOBAL actionfilter, и он не указывает, как ограничить только некоторые из ваших контроллеров.
Пожалуйста, помогите.
кстати я использую NinjectMVC3