我目前正在使用 AngularJS 开发一个网站,该应用程序旨在向已经运行的 MVC4 POST和GET
数据>申请。此 MVC4 应用程序正在使用 Windows身份验证。
我可以直接通过浏览器访问 MVC4 应用程序,并导航返回 JSON 的URL。现在,我只是手动下载了这个 JSON 并用它构建了应用程序。
当我直接从我的 AngularJS 应用程序请求服务器时出现问题。我尝试使用基本身份验证在另一台服务器上运行此工作正常。但现在我需要使用 Windows身份验证使用 NTLM身份验证。
我研究了构建 Type 1消息并在授权标题中设置它,但我很快就被淹没了。
我觉得服务器和客户端之间需要大量的通信,只是为了进行身份验证,使用 AngularJS 和Windows身份验证(NTLM身份验证)没有吸引力?我该如何解决这个问题?
答案 0 :(得分:2)
这个问题最终解决了。
解释我将如何更深入地了解项目的构建方式以及最初出现的问题。
这个项目有两个部分:
一开始;我在本地Web服务器上开发和测试此应用程序,同时仍使用域上部署的API。由于 API / Web服务上启用了Windows身份验证, AngularJS 中的服务无法在未经身份验证的情况下请求此数据。 (显然)
但是,由于这两个应用程序最终都会部署在同一个IIS下的同一个域中,因此这个问题最终会自行处理。
在与API相同的域和IIS上部署 AngularJS 应用程序意味着自动验证 AngularJS 应用程序还会对API进行身份验证。这不需要进一步的代码,因为身份验证cookie会自动处理。