Подтвердить что ты не робот

Доступ к данным Action Filter в действии Controller

[ApiBasicAuthorize]
public ActionResult SignIn()
{

}

У меня есть этот настраиваемый фильтр, называемый ApiBasicAuthorize. Возможно ли доступ к данным ApiBasicAuthorize (свойства и т.д.) Внутри действия контроллера SignIn?

Если нет, как передать данные из фильтра в действие контроллера?

4b9b3361

Ответ 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();
}