在ASP.Net Core 3.1中禁用HTTP选项方法

问题描述

由于安全修补程序的一部分,我们需要在ASPNET Core Web应用程序中禁用HTTP OPTIONS方法。如何在ASP.Net core 3.1 API中禁用HTTP OPTIONS方法

解决方法

这是一个带有中间件的演示: 将此添加到您的启动配置:

 app.Use(async (context,next) =>
            {
                // Do work that doesn't write to the Response.
                if (context.Request.Method=="OPTIONS")
                {
                    context.Response.StatusCode = 405;
                    return; 
                }

                await next.Invoke();
                // Do logging or other work that doesn't write to the Response.
            });

结果: enter image description here

或者您可以申请 [HttpGet] [HttpPost] [HttpPut] ... 关于控制器中的动作方法。这里是an official document关于Http动词的信息。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...