http - Angular + Web Api 上的 Windows 身份验证

标签 http iis asp.net-web-api https http-headers

我正在使用 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/

相关文章:

ruby - Sinatra HTTP 'PUT' 方法

azure - 在 IIS 当前用户/个人存储中安装证书

ssl - 在 IIS 上设置多个站点并添加 SSL - GCP 虚拟机

javascript - 无法将类从 angularjs 传递到 web api

ruby-on-rails - 如何检查 HTTP 请求延迟/等待时间的原因?

c++ - 我需要做什么才能使 Boost.Beast HTTP 解析器找到正文的结尾?

javascript - 使用 POST 设置请求 header 内容类型

iis - 从 asp.net 核心应用程序启动外部进程 (.exe)

c# - Microsoft Web API 生成 WSDL 的最简单途径

json - Web API 2 Json 输出小写和下划线