[ApiBasicAuthorize]
public ActionResult SignIn()
{
}
我有一个名为ApiBasicAuthorize的自定义过滤器。是否可以在控制器动作SignIn中访问ApiBasicAuthorize的数据(属性等)?
如果没有,我如何将数据从过滤器传递到控制器操作?
答案 0 :(得分:25)
有一个名为items的字典附加到HttpContext对象。使用此字典存储请求期间跨组件共享的项目。
public override void OnAuthorization(AuthorizationContext filterContext)
{
filterContext.HttpContext.Items["key"] = "Save it for later";
base.OnAuthorization(filterContext);
}
然后在请求中的代码中的任何位置......
var value = HttpContext.Current.Items["key"];
答案 1 :(得分:6)
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();
}