我正在使用 angularJS 和 web api 开发 web 应用程序。我在 IIS 上托管了两个独立的项目。 AngularJS 的 URL 是 ' http://10.36.217.16:8081/index.html ' 并且对于 web api 是 'http://10.36.217.16/api/test '.我已经为这两个站点启用了 Windows 身份验证,并在 IIS 上禁用了匿名身份验证。我还在 ajax 请求上传递了 'withCredentials: true'。我已经在我的 Controller 上设置了授权过滤器。我还在 api 中启用了 CORS,并将 SupportsCredentials 设置为 true。
我的问题是登录提示被触发了两次,一次用于 Angular 应用程序,第二次用于 Web API。如何在第一次登录提示后传递凭据?有没有我错过的设置。
我几乎尝试了一切,请帮忙! :)
最佳答案
无需对两个站点(Angular 和 Web API)都使用 Windows 身份验证。在 Angular 应用程序中设置匿名身份验证启用,并仅在 Web API 站点中启用 Windows 身份验证。 这将有助于您的系统在单一登录提示下正常工作。
关于http - Angular + Web Api 上的 Windows 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42623299/