gpt4 book ai didi

asp.net-mvc-4 - 在 ActionFilterAttribute 验证时停止响应

转载 作者:行者123 更新时间:2023-12-01 02:21:14 24 4
gpt4 key购买 nike

我有一个 ActionFilterAttribute 并且在它的 OnExecuting 事件上,我正在验证请求。
如果这不是授权请求,我会执行以下操作:

if(notAuthorized){
filterContext.HttpContext.AddError(new Exception("Invalid Request !!"));
}

因此,对于未经授权的请求,它会添加异常并继续执行操作。
我的问题是此时如何停止处理?
我试过了:
filterContext.HttpContext.Response.End();

但没有成功。请回复。

虽然检查操作中的错误将是一个选项,但我正在寻找操作过滤器本身的更改,以便我们不需要在每个操作中进行更改。

最佳答案

只需设置 ResultfilterContext :

filterContext.Result = new HttpUnauthorizedResult("Invalid Request !!");

如果您只想允许经过身份验证的用户访问,最好使用 Authorize改为过滤。

更新:

由于您想在授权失败时呈现错误 View ,请尝试以下操作:
filterContext.Result = new ViewResult
{
ViewName = "{YourErrorViewName}",
ViewData = { Model = new Exception("Invalid Request !!") }
};

关于asp.net-mvc-4 - 在 ActionFilterAttribute 验证时停止响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20398968/

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