gpt4 book ai didi

c# - 在 OnActionExecuting 中重定向不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 21:08:22 25 4
gpt4 key购买 nike

我正在尝试重定向未通过 OnactionExecuting() 进行身份验证的访问者,以便它覆盖我的整个 Controller ,但它几乎就像被完全跳过一样。是否可以从 OnActionExecuting() 中重定向?

  protected override void OnActionExecuting(ActionExecutingContext filterContext)
{

base.OnActionExecuting(filterContext);
if (SimpleAuth.isAuth())
{
RedirectToAction("Login", "Users");
}
}

最佳答案

您不能在过滤器中使用 RedirectToActionRedirectToActionController 类的成员。这就是为什么您可以在操作方法中调用此方法的原因,操作方法是继承自 Controller 类的类的成员。

但是,如果我们谈论的是过滤器,那么您必须将 filterContext.Result 设置为新的 RedirectToRouteResult:

 filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary(
new
{
controller = "Users",
action = "Login"
}));

关于c# - 在 OnActionExecuting 中重定向不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39658778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com