NtlmSsp против кербероса

может ли кто-нибудь уточнить другое?

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


person cometta    schedule 04.06.2009    source источник


Ответы (1)


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

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

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

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

person John    schedule 09.01.2010