Отключить приглашение входа по умолчанию при использовании техники ntlm passthrough в express-ntlm - PullRequest
0 голосов
/ 18 мая 2019

Я использую следующий код в express-ntlm для получения рабочей станции подробностей в моем приложении node.js:

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') в коде пакета express-ntlm. Как отключить этот вход в приглашение и по-прежнему иметь возможность получать сведения о рабочей станции?

PS: (Я пытался отключить его с помощью кода express-ntlm, хотя он этого не делает. Мне не хватает некоторого обратного вызова для точного воспроизведения событий, которые запускаются при нажатии кнопки входа в командной строке , Также я не пытаюсь поставить какой-либо пользовательский знак на странице. )

1 Ответ

0 голосов
/ 26 мая 2019

Это невозможно. Заголовок WWW-Authenticate указывает браузеру использовать NTLM для аутентификации. Если браузер изначально поддерживает NTLM, вы не заметите этот процесс, но если нет, появится запрос на ввод учетных данных. Если вы удалите заголовок, аутентификация не произойдет, и, следовательно, вы не получите необходимую информацию.

Кроме того, использование ntlm() без контроллера домена не очень разумно, так как отключает проверки подлинности, и поэтому любой пользователь может предоставить любую необходимую ему информацию без какой-либо проверки.

...