[Authorize]
屬性自定義403錯誤頁面是好的,方便的MS發明了,我希望它能夠解決我現在如何使授權屬性返回而不是重定向到登錄頁面
更具體的問題:
在當前客戶端未通過身份驗證 - [Authorize]
從受保護的動作重定向到登錄頁面,登錄成功後 - 爲用戶帶來回,這是件好事。
但噹噹前客戶端已經認證但不授權運行的具體行動 - 所有我需要的是隻顯示我的一般403頁。
是否有可能無需控制器的身體內移動授權邏輯?
更新: 我需要的應該是語義上的行爲等於這個草圖:
public ActionResult DoWork()
{
if (!NotAuthorized())
{
// this should be not redirect, but forwarding
return RedirectToAction("403");
}
return View();
}
如此 - 應該沒有任何重定向和URL應該保持不變,但網頁的內容應與403頁
更新置換的2:我實現了這樣素描:
[HandleError]
public class HomeController : Controller
{
public ActionResult Index()
{
ViewData["Message"] = "Welcome to ASP.NET MVC!";
return View();
}
[CustomActionFilter]
public ActionResult About()
{
return View();
}
public ActionResult Error_403()
{
return Content("403");
}
}
public class CustomActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
filterContext.Result = new ContentResult { Content = "403" };
}
}
並不能得到如何正確地轉發執行,以HomeController.Action_403(),所以它顯示403
更新3:
filterContext.Result = new ViewResult() { ViewName = "Error_403" };
所以這是如何呈現的具體答案查看模板...但仍然不知道如何運行另一個控制器 - 無論如何,這是足夠好的解決方案。
@casperOne:憑啥你添加註釋,因爲它是從我的人??? – zerkms 2010-10-19 22:29:27
側面的評論妨礙了代碼的可讀性。將其放置在上方可防止滾動條出現,並且只是清理過程的一部分。 – casperOne 2010-10-20 16:27:16
@casperOne:我是白癡,我需要眼鏡,對不起;-( – zerkms 2010-10-20 23:27:44