asp.net-core-mvc - 如何在 .net core 2.0 ActionExecutingContext 中分配 Http 响应
问题描述
我正在为我的 .net core 2.0 项目创建 ActionFilterAttribute 以过滤所有 api 请求和令牌授权。我的问题是,如果任何用户不接受访问 api,ActionExecutingContext 将返回 Not Acceptable 406 状态。Not Acceptable Result 是否有任何课程。提前致谢。
动作过滤器属性
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class)]
public class AuthorizationRequiredAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{
context.Result = //place your code here, which return NotAcceptable Status
base.OnActionExecuting(context);
}
}
解决方案
最终使用 StatusCodeResult
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class)]
public class AuthorizationRequiredAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{
context.Result = new StatusCodeResult((int)HttpStatusCode.NotAcceptable);
base.OnActionExecuting(context);
}
}
推荐阅读
- python - Python:索引错误:序列下标超出范围
- javascript - 如何在短时间按下按钮或直到功能完成后禁用按钮
- python - 如何使用 rpy2 设置正确的 R 解释器
- javascript - Bcrypt 哈希函数返回未定义的结果
- sql - mssql 选择所有编码错误的 nvarchar
- python - 在python中的元组条件中的列表VS
- typescript - TypeScript RxJS:映射到单一类型
- node.js - MongoError:由于正则表达式模式,文档验证失败?
- css - 将图像定位在视图内
- npm - 当包具有公共依赖项时,私有包的 npm 安装失败