SEC7123:访问控制允许标头列表中不存在请求标头密钥
Posted
技术标签:
【中文标题】SEC7123:访问控制允许标头列表中不存在请求标头密钥【英文标题】:SEC7123: Request header Key was not present in the Access-Control-Allow-Headers list 【发布时间】:2019-08-25 19:32:42 【问题描述】:我正在尝试将自定义标头从角度 HTTP 拦截器传递给我的 Web API。 我已将 web.config 中允许的标头列表中的标头添加为
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Key,Content-Type" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
这在 Chome 中运行良好,但在 Microsoft Edge 中它给了我以下错误:
SEC7123: Request header Key was not present in the Access-Control-Allow-Headers list.
我还缺少其他设置吗?
【问题讨论】:
可能有帮助的类似问题:***.com/questions/27168061/… 【参考方案1】:我可以通过在 Global.asax 文件的 BeginRequest 方法中添加以下代码来解决此问题
protected void Application_BeginRequest (Object sender, EventArgs e)
if (Request.Headers.AllKeys.Contains ("Origin") && Request.HttpMethod == "OPTIONS")
Context.Response.AddHeader ("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Key, Accept,Authorization,serverName");
Context.Response.AddHeader ("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
Context.Response.End ();
【讨论】:
以上是关于SEC7123:访问控制允许标头列表中不存在请求标头密钥的主要内容,如果未能解决你的问题,请参考以下文章
Microsoft Edge 上的 SEC7123 CORS
对预检请求的响应未通过访问控制检查:请求的资源中不存在“Access-control-Allow-Origin”标头
Angular 7:对预检请求的响应未通过访问控制检查:请求中不存在“Access-Control-Allow-Origin”标头
本地主机已被 cors 策略请求标头字段内容类型阻止访问控制不允许
vue axios 跨域请求在ie浏览器 报错 Access-Control-Allow-Headers 列表中不存在请求标头 authorization.