NTLM Window Authentication - PullRequest
       10

NTLM Window Authentication

2 голосов
/ 15 июля 2009

Я использую Samba для реализации проверки подлинности окна. На моем web.xml я положил это

<filter>
<filter-name>NtlmHttpFilter</filter-name>
<filter-class>jcifs.http.NtlmHttpFilter</filter-class>

<init-param>
    <param-name>jcifs.http.domainController</param-name>
    <param-value>192.168.1.101</param-value>
</init-param>

<!--
    always needed for preauthentication / SMB signatures
-->
<init-param>
    <param-name>jcifs.smb.client.domain</param-name>
    <param-value>NYC-USERS</param-value>
</init-param>
<init-param>
    <param-name>jcifs.smb.client.username</param-name>
    <param-value>somenycuser</param-value>
</init-param>
<init-param>
    <param-name>jcifs.smb.client.password</param-name>
    <param-value>AReallyLoooongRandomPassword</param-value>
</init-param>
</filter>

<filter-mapping>
    <filter-name>NtlmHttpFilter</filter-name>
    <url-pattern>/admin/*</url-pattern>
</filter-mapping>

и как только я запускаю страницу в папке администратора, появляется окно входа в систему. Какое имя пользователя и пароль я должен ввести, поскольку в данный момент я работал под учетной записью администратора. Я не очень понимаю, может ли кто-нибудь объяснить мне?

<init-param>
    <param-name>jcifs.smb.client.username</param-name>
    <param-value>somenycuser</param-value>
</init-param>
<init-param>
    <param-name>jcifs.smb.client.password</param-name>
    <param-value>AReallyLoooongRandomPassword</param-value>
</init-param>

Могу ли я установить имя пользователя и пароль?

Ответы [ 4 ]

1 голос
/ 16 ноября 2009

Вот библиотека с открытым исходным кодом, http://spnego.sourceforge.net,, которая также поддерживает встроенную проверку подлинности Windows / sso.

На странице проекта библиотеки есть несколько примеров и инструкций по установке.

1 голос
/ 28 сентября 2009

При использовании аутентификации NTLM вы проходите аутентификацию с использованием домена Windows, это полезно в локальных интрасетях с контроллером домена MS. Если вы правильно настроили свой контроллер домена в файле web.xml Вы сможете пройти аутентификацию на сайте, используя свой логин Windows имя пользователя и пароль, если вы вошли в тот же домен, который вы настроили в ваш web.xml Ваш браузер может быть настроен для автоматической аутентификации на определенных сайтах, В IE это обычно происходит по умолчанию для сайтов в локальной сети (зависит от настроек безопасности). В Firefox это не произойдет автоматически, вам нужно включить его для каждого сайта используя about: настройте параметр network.automatic-ntlm-auth.trusted-uris.

Важно отметить, что простая аутентификация NTLM считается небезопасной, и путем аутентификации на ненадежном сервере указанный сервер может легко восстановить ваш пароль из данных аутентификации, которые вы ему отправляете.

1 голос
/ 05 августа 2009

Поскольку вы вошли как локальный администратор, т.е. не будете передавать требуемые заголовки для jcifs. поэтому происходит сбой, и вам необходимо войти в домен с действующим пользователем.

обычно это должно работать с вашей комбинацией пользователь / pw. если нет, попробуйте ввести имя пользователя: домен \ имя пользователя (обязательно используйте обратную косую черту там).

Имя пользователя должно быть настроено на контроллере домена, определенном в jcifs.http.domainController

0 голосов
/ 27 сентября 2009

NTLM проводит четкое различие между пользователем и доменом \ пользователем, поэтому убедитесь, что вы включили домен в запрос аутентификации.

...