在使用 C# 的 MVC 3 中,我想重定向某些未经验证的方法。但是,这似乎不起作用:
private ActionResult m_VerifyLogin()
{
if (Session["isLogged"] == null || (int)Session["isLogged"] != 1)
{
return RedirectToAction("Index", "Home");
}
return View();
}
有谁知道我能做什么?即使我创建了一个 ActionFilterAttribute 我希望它非常简单!
- 编辑 -
感谢您的所有回答。我们尝试了您提出的一些问题,然后在测试后提出了这个问题:
自定义 ActionFilterAttribute:
public class IsLoggedAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (filterContext.HttpContext.Session["isLogged"] == null || (int) filterContext.HttpContext.Session["isLogged"] != 1)
{
filterContext.HttpContext.Response.RedirectToRoute(new { controller = "Home" });
}
base.OnActionExecuting(filterContext);
}
}
我可以将 [IsLogged] 抛出到路由方法之上。