如何在ActionFilterAttribute中强制请求失败

艾伦·阿拉亚(Alan Araya)

我有一个继承的类ActionFilterAttribute

它解密由调用方加密的请求中的一些查询字符串属性。这样可以确保我的WebAPI方法仅接收“良好”参数。那很好。

如果参数未加密,我需要做的但没有成功的是否定/失败上下文(请求)。

如何强制请求终止?我在做我的逻辑:

public override void OnActionExecuting(ActionExecutingContext context)

已经尝试将响应设置为401,但这不起作用:

//Negate the access by default
 context.HttpContext.Response.StatusCode = 401;
  1. 正如Clint B所说,方法之一是使用中间件。是有关中间件的ASP核心文档,以及使用方法示例

  2. 另一方面,如果您使用MVC并希望使用ActionFilter强制MVC Action停止,则可以通过将Action Context.Result属性设置为非null值来执行此操作

例子:

actionContext.HttpContext.Response.StatusCode = 401;
actionContext.HttpContext.Response.Headers.Clear();

actionContext.Result = new EmptyResult();
//var wrongResult = new { error = "Wrong parameters"};
//actionContext.Result = new JsonResult(wrongResult);

如何在中间件和动作过滤器之间进行选择?动作过滤器只能用作MVC HTTP请求的方法过滤器,控制器过滤器或全局过滤器

中间件是“坐在” HTTP管道上并检查所有请求和响应的组件

  1. 对于请求参数验证,您可以使用数据注释

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在类库ActionFilterAttribute中访问Unity容器?

来自分类Dev

强制HTTP请求在浏览器中失败

来自分类Dev

如何在克隆请求中强制git提示我输入用户名和密码

来自分类Dev

如何在ActionFilterAttribute中注入依赖项

来自分类Dev

如何在Javascript / Jquery中失败的Ajax请求上返回新的Promise而不是错误?

来自分类Dev

如何从失败的forkJoin请求中获取数据?

来自分类Dev

如何在ActionFilterAttribute ASP MVC 5中将值设置为ViewBag?

来自分类Dev

如何在ActionFilterAttribute ASP MVC 5中将值设置为ViewBag?

来自分类Dev

如何在请求json中收到未映射的字段时强制Web API引发错误

来自分类Dev

如何从ApiController中的ActionFilterAttribute访问属性?

来自分类Dev

如何在PySide中强制重画?

来自分类Dev

如何在PHP中强制foreach重置

来自分类Dev

如何在Symfony中强制注销用户?

来自分类Dev

如何在MVVM中强制更新UI?

来自分类Dev

如何在Grails GORM中强制冲洗

来自分类Dev

如何在gnuplot中强制颜色范围

来自分类Dev

如何在元素中强制状态悬停

来自分类Dev

如何在DataGridView中强制“刷新”

来自分类Dev

如何在coffeeScript中强制使用“ this”?

来自分类Dev

如何在Symfony中强制注销用户?

来自分类Dev

如何在Xenial中强制设置DPI?

来自分类Dev

如何在Datatables中强制.change()事件?

来自分类Dev

如何在Java中强制关闭窗口?

来自分类Dev

如何在JavaScript中强制停止touchmove?

来自分类Dev

如何在iframe中强制调整大小?

来自分类Dev

如何在 Laravel 5.4 中强制删除

来自分类Dev

如何在 CakePHP 中强制插入?

来自分类Dev

如何在视频的 vtt 中强制换行

来自分类Dev

如何对REST中的每个请求强制进行身份验证?

Related 相关文章

热门标签

归档