HTTP授权标头不起作用
问题出现的原因是使用基本身份验证时,HTTP授权标头无法正常工作。解决方法是在web.config中添加Access-Control-Allow-Methods,并在global.asax.cs文件的Application_BeginRequest方法中进行修改。另外,还需要对web.config进行一些修改。具体的解决方法如下:
首先,在web.config中添加以下代码:
请注意,上述代码将允许几乎所有内容。您可能需要根据需要限制允许的来源和方法。
然后,在global.asax.cs文件的Application_BeginRequest方法中添加以下代码:
protected void Application_BeginRequest() { if (HttpContext.Current.Request.HttpMethod == "OPTIONS") { //这些标头处理浏览器发送的“预检”OPTIONS请求 HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS"); HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept, Authorization"); HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000"); HttpContext.Current.Response.End(); } }
最后,对web.config进行以下修改:
希望能对你有所帮助。如果问题仍然存在,可以尝试对代码进行进一步修改。