NTLMSSP против Kerberos
Вопрос
Кто -нибудь может уточнить по -другому?
В настоящее время я использую ntlmssp.authenticaten (jcifs), но, кажется, не в состоянии сделать getPassword (). это всегда возвращает ноль
Решение
Есть разница.
С Kerberos, Вам придется попросить вашего администратора домена за основным именем услуги (SPN) для вашего веб -приложения. По сути, это запись в Active Directory с криптографическим ключом, которая позволит вашему веб -приложению декодировать запросы аутентификации.
С Ntlm, Вам не нужно сотрудничество вашего администратора. Ваше веб -приложение получит некоторую информацию от клиента (т.е. браузер), которую оно может использовать для попытки входа в вход для контроллера домена. Информация от клиента не включает пароль пользователя - это было бы слишком небезопасно. Вместо этого фильтр NTLM получает проблему от контроллера домена, передает его клиенту. Клиент хлебует пароль с задачей создания ответа. Когда этот ответ отправляется обратно в контроллер домена в качестве запроса входа в систему, контроллер домена сообщит фильтру JCIFS, был ли пароль правильным или нет.
У некоторых классов JCIF есть метод getPassword, потому что он позволяет напрямую создавать запрос входа в систему из имени пользователя и пароля. Если вы используете этот подход, а также настройку пароля, вы можете его получить. Но это не тот подход, используемый, когда вы позволяете браузеру аутентифицировать для вас, поэтому вы не сможете получить фактический пароль.