【问题标题】:Windows Authentication throwing off CORS?Windows身份验证抛弃CORS?
【发布时间】:2018-04-13 01:54:18
【问题描述】:

我在使用 Windows 身份验证时遇到问题,需要预检请求才能登录。但是,尽管在我的启动文件中启用了 CORS,但应用程序将无法满足预检“Allow-Access-Control-Origin”要求。

无法加载http://localhost:1190/api/test:对预检的响应 请求未通过访问控制检查:否 请求中存在“Access-Control-Allow-Origin”标头 资源。因此不允许使用原点“http://localhost:8080” 访问。

我在 localhost:8080 上运行 SPA

我有一个带有凭据的 axios POST

function identityLogin () {
  const url = BASE_URL + 'api/token'
  axios.get(url, {withCredentials: true}).then(response => {
    if (response.statusText === 'OK') {
     .....
    } else {
      ....
    }
  })
  .catch(error => {
    console.log(error)
    ....
  })
}

在我的 startup.cs 我有

app.UseCors(builder => builder
                    .AllowAnyOrigin()
                    .AllowAnyMethod()
                    .AllowAnyHeader()
                    .AllowCredentials()
);

app.UseMvc();

然后,当我第一次获得 Windows 凭据时,以前的开发人员写道:

    [HttpGet("api/token")]
    [Authorize]
    public async Task<IActionResult> Get()
    {
        this.Response.Headers.Add("Access-Control-Allow-Origin", "http://localhost:8080");
        this.Response.Headers.Add("Access-Control-Allow-Headers", "Content-Type,Authorization");
        this.Response.Headers.Add("Access-Control-Allow-Methods", "GET,PUT,POST,DELETE,OPTIONS");
        this.Response.Headers.Add("Access-Control-Allow-Credentials", "true");
        .........
    }

是否持久并可能与 UseCORS 混淆?是否存储了 cookie?

我想要的只是 Windows 凭据检查数据库,然后用令牌响应。

**编辑** 我指定了具有相同结果的来源。

app.UseMvc();

app.UseCors(builder => builder
       .WithOrigins("http://localhost:8080")
       .AllowAnyMethod()
       .AllowAnyHeader(
       .AllowCredentials());

【问题讨论】:

    标签: asp.net cors


    【解决方案1】:

    startup.cs 中的顺序事项

    app.UseCors 必须在app.UseMvc 之前:

    app.UseCors(builder => builder
        .WithOrigins("http://localhost:8080") 
        .AllowAnyMethod()
        .AllowAnyHeader()
        .AllowCredentials());
    
    
    app.UseMvc();
    

    【讨论】:

      猜你喜欢
      • 2013-06-09
      • 2018-06-27
      • 2014-04-06
      • 2018-01-07
      • 2010-10-05
      • 2013-10-30
      • 2018-12-13
      • 2012-03-15
      • 1970-01-01
      相关资源
      最近更新 更多