CORS:对预检请求的响应未通过访问控制检查



它显示的CORS问题:

选项 https://dev-01-api-apptracker2/Admin 401(未经授权)

CORS 策略已阻止从源"https://dev-01-web-apptracker2"访问"https://dev-01-api-apptracker2/Admin"处的 XMLHttpRequest:对预检请求的响应未通过访问控制检查:请求的资源上不存在"访问控制-允许源"标头。

但我想我已经在我的 ajax 代码中添加了一个标头"访问控制-允许-来源":"*",并尝试了很多方法来解决这些 CORS 问题,我设置了数据类型:"json",跨域:true,和 withCredentials:true,并添加了不同的源域。但我仍然收到错误。 我不知道这有什么问题,任何人都可以帮助我。谢谢!!

AddAdmin: function (callback, UserId) {
$.ajax({
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Access-Control-Allow-Headers': 'origin, X-Custom-Header',
'Access-Control-Allow-Method': 'POST',
'Access-Control-Allow-Origin': '*'
},
contentType: 'application/json',
method: "POST",
url: Services.APIBaseUrl + "Admin",
dataType: 'json',
crossDomain: true,
data: JSON.stringify(UserId),
xhrFields: {
withCredentials: true
},
complete: function (data) {
callback(data);
}
});
},
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("APIAllowedOriginsPolicy",
builder =>
{
builder.WithOrigins("https://dev-01-web-apptracker2",
"http://localhost:31474")
.AllowAnyHeader()
.AllowAnyMethod()
.AllowCredentials();
});
});
services.Configure<MvcOptions>(options =>
{
options.Filters.Add(new CorsAuthorizationFilterFactory("APIAllowedOriginsPolicy"));
});
services.AddAuthentication(IISDefaults.AuthenticationScheme);
// Add framework services.
services
.AddMvc()
.AddJsonOptions(options =>
{
options.SerializerSettings.ContractResolver = new DefaultContractResolver();
});
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
//app.UseCors("APIAllowedOriginsPolicy");
app.UseCors(builder =>
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials()
);
app.UseMvc();
}

我找出了因为IIS身份验证问题的问题,它需要允许CORS的窗口身份验证和匿名。

相关内容

  • 没有找到相关文章

最新更新