使用来自不同服务器上的Angular app的集成Windows身份验证访问受保护的Web服务

时间:2015-06-08 16:10:36

标签: angularjs authentication iis iis-7.5 windows-authentication

我有一个使用Windows身份验证的Web服务(当前为localhost:100),通过IIS提供,并在web.config中设置了Access Control Allow Origin属性:

<httpProtocol>
  <customHeaders>
    <add name="Access-Control-Allow-Origin" value="http://localhost:81" />
    <add name="Access-Control-Allow-Credentials" value="true" />
  </customHeaders>
</httpProtocol>

我试图从一个由静态文件(html,css&amp; js)提供的angularJS应用程序访问它们,这些应用程序是从我在IIS上运行的另一台服务器(当前端口81)运行的:

var productSearch = $resource("http://localhost:100/api/ProductSearch/:id");

但我得到了401(Unathorised)。

我已将请求网站设置为使用Windows身份验证但没有服务器端我无法知道它是否正常工作。它没有将任何用户凭据发送到Web服务。

1 个答案:

答案 0 :(得分:2)

所以我有点傻。我正在寻找的代码行是:

  $http.defaults.withCredentials = true;

这使它可以在任何地方工作 - 包括Node dev服务器。