Доступ к данным Action Filter в действии Controller
[ApiBasicAuthorize]
public ActionResult SignIn()
{
}
У меня есть этот настраиваемый фильтр, называемый ApiBasicAuthorize. Возможно ли доступ к данным ApiBasicAuthorize (свойства и т.д.) Внутри действия контроллера SignIn?
Если нет, как передать данные из фильтра в действие контроллера?
Ответы
Ответ 1
Существует словарь под названием объектов, прикрепленных к объекту HttpContext. Используйте этот словарь для хранения элементов, разделяемых между компонентами во время запроса.
public override void OnAuthorization(AuthorizationContext filterContext)
{
filterContext.HttpContext.Items["key"] = "Save it for later";
base.OnAuthorization(filterContext);
}
Затем в любом месте вашего кода позже в запросе...
var value = HttpContext.Current.Items["key"];
Ответ 2
public override void OnAuthorization(AuthorizationContext filterContext)
{
var rd = filterContext.RouteData;
//add data to route
rd.Values["key"]="Hello";
base.OnAuthorization(filterContext);
}
public ActionResult(string key)
{
//key= Hello
return View();
}