我想通过Ionic应用程序进行NTLM身份验证。使用邮差(一种测试请求的工具),我能够进行此身份验证,并且可以完美地工作(使用NTLM身份验证选项)。
但是,邮递员未提供任何代码来在Angular中实现此请求(对于Ionic)。
进行了自己的研究后,我发现 Angular 2及更高版本不支持NTLM身份验证。是真的吗?
所以我在想用Jquery和下面的代码(由邮递员生成)生成请求。 但是它可以与Ionic一起使用吗?
这是Postman为此请求生成的JQuery Ajax实现:
var form = new FormData();
form.append("Login", "yakeri");
form.append("Password", "elcimai77");
var settings = {
"async": true,
"crossDomain": true,
"url": "https://myserver.com/MyService",
"method": "POST",
"headers": {
"Content-Type": "application/json",
"Cache-Control": "no-cache",
"Postman-Token": "50392b83-879b-43cb-ba2e-0b5ffc61e2f8"
},
"processData": false,
"contentType": false,
"mimeType": "multipart/form-data",
"data": form
}
$.ajax(settings).done(function (response) {
console.log(response);
});
答案 0 :(得分:1)
最后,我发现了。来自邮递员的javascript代码无法正常工作,因此我只是在Angular中发出了一个简单的POST请求,而我使用http://username:password@myserver.com
作为网址。现在可以正常使用了!
参考:Authenticate Windows Authentication using Javascript
此外,为帮助处于相同情况并在使用ionic serve
时遇到CORS问题困扰的人们,只需在chrome中禁用chrome web安全即可。真正的设备,CORS应该没有任何问题。
感谢您的帮助