NtlmSsp vs kerberos - PullRequest
       70

NtlmSsp vs kerberos

1 голос
/ 04 июня 2009

Кто-нибудь может разработать другое?

В настоящее время я использую ntlmssp.authenticaten (jcifs), но, похоже, не могу выполнить getPassword (). всегда возвращается null

1 Ответ

4 голосов
/ 09 января 2010

Есть разница.

С Kerberos вам нужно будет спросить у администратора домена имя участника-службы (SPN) для вашего веб-приложения. По сути, это запись в Active Directory с криптографическим ключом, который позволит вашему веб-приложению декодировать запросы аутентификации.

С NTLM вам не нужно сотрудничество вашего администратора. Ваше веб-приложение будет получать некоторую информацию от клиента (например, браузера), которую оно может использовать для попытки входа в контроллер домена. Информация от клиента не включает пароль пользователя - это было бы слишком небезопасно. Вместо этого фильтр NTLM получает запрос от контроллера домена, передает его клиенту. Клиент хэширует пароль с запросом на создание ответа. Когда этот ответ отправляется обратно на контроллер домена в качестве запроса на вход в систему, контроллер домена сообщает фильтру jcifs, был ли пароль правильным или нет.

Некоторые классы jcifs имеют метод getPassword, поскольку он позволяет вам напрямую создавать запрос на вход из имени пользователя и пароля. Если вы используете такой подход, то помимо установки пароля вы можете его восстановить. Но этот подход используется не тогда, когда вы позволяете браузеру проходить аутентификацию для вас, поэтому вы не сможете получить действительный пароль.

...