IActionFilter OnActionExecuting 函数之后的操作调用中出现问题

发布于 2024-10-09 01:35:40 字数 125 浏览 0 评论 0原文

我正在使用 IActionFilter OnActionExecuting 函数进行一些安全检查,但是当它调用它时,它会检查一个条件,如果该条件失败,我想将其重定向到登录操作,但问题是,它也会调用我不想执行的下一个操作如果该条件不满足。

I am using IActionFilter OnActionExecuting function for some security check, but when it calls it check a condition and if that conditions fails i want to redirect it to login action but the problem is, it call the next action as well which i donot want to execute if that conditions is fails.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

吃素的狼 2024-10-16 01:35:40

这应该可以完成这项工作:

public class MyCustomActionFilter : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        if (someCondition)
        {
            var values = new RouteValueDictionary(new { 
                action = "index",
                controller = "login"
            });
            filterContext.Result = new RedirectToRouteResult(values);
        }
        base.OnActionExecuting(filterContext);
    }
}

确保您的属性源自 ActionFilterAttribute

This should do the job:

public class MyCustomActionFilter : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        if (someCondition)
        {
            var values = new RouteValueDictionary(new { 
                action = "index",
                controller = "login"
            });
            filterContext.Result = new RedirectToRouteResult(values);
        }
        base.OnActionExecuting(filterContext);
    }
}

Make sure your attribute derives from ActionFilterAttribute.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文