public class BaseController : Controller
{
protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
base.OnActionExecuted(filterContext);
if (Session["User"] is null && filterContext.Controller.ControllerContext.RouteData.Values["action"].ToString() != "Login")
{
filterContext.Result = new RedirectResult("/Home/Login");
}
}
}
在filterContext.Controller.ControllerContext.RouteData中可以获取到对应的控制器的字符串和行为的字符串。