我试图重定向一个未通过OnactionExecuting()进行身份验证的访问者,以便它覆盖我的整个控制器,但它几乎就像是被完全跳过了。可以在OnActionExecuting()中重定向吗?
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);
if (SimpleAuth.isAuth())
{
RedirectToAction("Login", "Users");
}
}发布于 2016-09-23 18:42:45
您不能在过滤器中使用RedirectToAction。RedirectToAction是Controller类的成员。这就是为什么你可以在动作方法中调用这个方法,这些方法是继承自Controller类的类的成员。
但是,如果我们讨论的是筛选器,则必须将filterContext.Result设置为新的RedirectToRouteResult
filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary(
new
{
controller = "Users",
action = "Login"
}));https://stackoverflow.com/questions/39658778
复制相似问题