我正在使用快递-ntlm中的以下代码在我的应用程序中获取工作站的详细信息:
var express = require('express'),
ntlm = require('express-ntlm');
var app = express();
app.use(ntlm());
app.all('*', function(request, response) {
console.log(request.ntlm.Workstation);
});
app.listen(3000);当我点击localhost:3000时,它会弹出标记,提示询问用户名和密码。这是由于http setheader('WWW-Authenticate','NTLM')在快递-ntlm包代码。如何在提示中禁用此标志,并且仍然能够获取工作站详细信息?
P.S:(我试着通过快递-ntlm代码禁用它,尽管它做不到。)有一些回调是我丢失的,用来重现确切的事件,当您单击提示符上的“登录”按钮时会触发这些回调。,我也不想在页面上放任何自定义的标志.)
发布于 2019-05-26 13:52:14
这是不可能的WWW-Authenticate标头告诉浏览器使用NTLM进行身份验证。如果浏览器本机支持NTLM,您将不会注意到此过程,但如果不支持,则会有输入凭据的提示。如果删除标头,身份验证就不会发生,因此不会收到所需的信息。
另外,在没有域控制器的情况下使用ntlm()并不聪明,因为它禁用身份验证检查,因此任何用户都可以提供他们想要的任何细节,而无需任何验证。
发布于 2020-11-09 11:33:08
检查浏览器设置/策略。
为IE
工具> Internet选项>安全选项卡>自定义级别>用户身份验证登录>选中复选框“具有当前用户名和密码的自动登录”。
https://stackoverflow.com/questions/56201939
复制相似问题