使用Windows身份验证在MVC4站点上为HTTP请求验证角度

时间:2014-07-16 11:23:01

标签: asp.net asp.net-mvc angularjs windows-authentication angularjs-http

我目前正在使用 AngularJS 开发一个网站,该应用程序旨在向已经运行的 MVC4 POST和GET数据>申请。此 MVC4 应用程序正在使用 Windows身份验证

我可以直接通过浏览器访问 MVC4 应用程序,并导航返回 JSON 的URL。现在,我只是手动下载了这个 JSON 并用它构建了应用程序。

当我直接从我的 AngularJS 应用程序请求服务器时出现问题。我尝试使用基本身份验证在另一台服务器上运行此工作正常。但现在我需要使用 Windows身份验证使用 NTLM身份验证。

我研究了构建 Type 1消息并在授权标题中设置它,但我很快就被淹没了。

我觉得服务器和客户端之间需要大量的通信,只是为了进行身份验证,使用 AngularJS 和Windows身份验证(NTLM身份验证)没有吸引力?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

这个问题最终解决了。

解释我将如何更深入地了解项目的构建方式以及最初出现的问题。

这个项目有两个部分:

  1. 使用 AngularJS 的应用程序在客户端显示数据。
  2. 用于从数据库获取数据的 API / Web服务
  3. 一开始;我在本地Web服务器上开发和测试此应用程序,同时仍使用域上部署的API。由于 API / Web服务上启用了Windows身份验证 AngularJS 中的服务无法在未经身份验证的情况下请求此数据。 (显然)

    但是,由于这两个应用程序最终都会部署在同一个IIS下的同一个域中,因此这个问题最终会自行处理。

    在与API相同的域和IIS上部署 AngularJS 应用程序意味着自动验证 AngularJS 应用程序还会对API进行身份验证。这不需要进一步的代码,因为身份验证cookie会自动处理。