对预检请求的响应未通过访问控制(Angular 2 - Web Api)
Response to preflight request doesn't pass access control (Angular 2 - Web Api)
我有几个项目,其中一个是用于身份验证的。但是我设置了 CORS
配置,它仍然 returns 错误。
注意: Web Api 应用程序与邮递员一起工作。
这是我到目前为止所做的:
Startup.cs
[assembly: OwinStartup(typeof(LabelGenerator.Startup))]
namespace LabelGenerator {
public partial class Startup {
public void Configuration(IAppBuilder app) {
ConfigOAuth(app);
ConfigWebApi(app);
}
}
}
Startup.Auth.cs
namespace LabelGenerator {
public partial class Startup {
private void ConfigOAuth(IAppBuilder app) {
OAuthBearerAuthenticationOptions oAuthServerOptions = new OAuthBearerAuthenticationOptions();
// Token Generation
app.UseOAuthBearerAuthentication(oAuthServerOptions);
}
private void ConfigWebApi(IAppBuilder app) {
HttpConfiguration conf = new HttpConfiguration();
WebApiConfig.Register(conf);
app.UseWebApi(conf);
// CORS
app.UseCors(CorsOptions.AllowAll);
}
}
}
Web.config
<modules runAllManagedModulesForAllRequests="true">
<remove name="ApplicationInsightsWebTracking" />
<add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" preCondition="managedHandler" />
</modules>
根据这个 我改变了这个 :
private void ConfigWebApi(IAppBuilder app) {
HttpConfiguration conf = new HttpConfiguration();
WebApiConfig.Register(conf);
app.UseWebApi(conf);
// CORS
app.UseCors(CorsOptions.AllowAll);
}
对此:
private void ConfigWebApi(IAppBuilder app) {
HttpConfiguration conf = new HttpConfiguration();
WebApiConfig.Register(conf);
// CORS
app.UseCors(CorsOptions.AllowAll);
app.UseWebApi(conf);
}
现在 CORS
工作正常。
我有几个项目,其中一个是用于身份验证的。但是我设置了 CORS
配置,它仍然 returns 错误。
注意: Web Api 应用程序与邮递员一起工作。
这是我到目前为止所做的:
Startup.cs
[assembly: OwinStartup(typeof(LabelGenerator.Startup))]
namespace LabelGenerator {
public partial class Startup {
public void Configuration(IAppBuilder app) {
ConfigOAuth(app);
ConfigWebApi(app);
}
}
}
Startup.Auth.cs
namespace LabelGenerator {
public partial class Startup {
private void ConfigOAuth(IAppBuilder app) {
OAuthBearerAuthenticationOptions oAuthServerOptions = new OAuthBearerAuthenticationOptions();
// Token Generation
app.UseOAuthBearerAuthentication(oAuthServerOptions);
}
private void ConfigWebApi(IAppBuilder app) {
HttpConfiguration conf = new HttpConfiguration();
WebApiConfig.Register(conf);
app.UseWebApi(conf);
// CORS
app.UseCors(CorsOptions.AllowAll);
}
}
}
Web.config
<modules runAllManagedModulesForAllRequests="true">
<remove name="ApplicationInsightsWebTracking" />
<add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" preCondition="managedHandler" />
</modules>
根据这个
private void ConfigWebApi(IAppBuilder app) {
HttpConfiguration conf = new HttpConfiguration();
WebApiConfig.Register(conf);
app.UseWebApi(conf);
// CORS
app.UseCors(CorsOptions.AllowAll);
}
对此:
private void ConfigWebApi(IAppBuilder app) {
HttpConfiguration conf = new HttpConfiguration();
WebApiConfig.Register(conf);
// CORS
app.UseCors(CorsOptions.AllowAll);
app.UseWebApi(conf);
}
现在 CORS
工作正常。