[ApiBasicAuthorize]
public ActionResult SignIn()
{
}
我有這種名爲ApiBasicAuthorize的自定義過濾器。是否有可能訪問控制器操作SignIn內的ApiBasicAuthorize的數據(屬性等)?在控制器操作中訪問操作過濾器的數據
如果不是,我如何將數據從過濾器傳遞到控制器操作?
[ApiBasicAuthorize]
public ActionResult SignIn()
{
}
我有這種名爲ApiBasicAuthorize的自定義過濾器。是否有可能訪問控制器操作SignIn內的ApiBasicAuthorize的數據(屬性等)?在控制器操作中訪問操作過濾器的數據
如果不是,我如何將數據從過濾器傳遞到控制器操作?
有一個名爲附加到HttpContext對象的字典。使用此字典可以存儲請求期間通過組件共享的項目。
public override void OnAuthorization(AuthorizationContext filterContext)
{
filterContext.HttpContext.Items["key"] = "Save it for later";
base.OnAuthorization(filterContext);
}
然後在你的代碼的任何地方在後面的請求......
var value = HttpContext.Current.Items["key"];
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();
}
你在authrize_Attribute覆蓋哪種方法。你可以添加數據來路由字典,向我們展示更多你的代碼。 –
我重寫OnAuthorization(AuthorizationContext filterContext)方法。 –