Как работает проверка подлинности доверенного соединения SQL Server JDBC?

StackOverflow https://stackoverflow.com/questions/221149

Вопрос

Как работает проверка подлинности доверенного соединения SQL Server JDBC?(т.е. как доверенное соединение аутентифицирует вошедшего в систему пользователя AD таким прозрачным и элегантным способом и как я могу реализовать аналогичное решение аутентификации для моих клиент-серверных приложений на Java без подключения к базе данных или какого-либо использования существующего решения SQL Server.)

Предположения * Работа в домене Windows 2003 * У вас есть доступ к Windows API через JNI / JNA

Это было полезно?

Решение

Это зависит от клиента.Например, если у вас есть веб-браузер, он может использовать аутентификацию NTLM для передачи аутентификации домена вашего текущего клиента серверу.В этом случае браузер, такой как IE или FF, поддерживает это, и вашему веб-серверу требуется поддержка NTLM.Например, здесь для Tomcat: http://jcifs.samba.org/src/docs/ntlmhttpauth.html

Существует также протокол SPNEGO в сочетании с Kerberos, как описано здесь: http://java.sun.com/javase/6/docs/technotes/guides/security/jgss/lab/index.html

Если у вас есть свой собственный клиент, то от клиентской платформы зависит, сможет ли она использовать контекст безопасности локального пользователя и передавать его дальше.Страница выше описывает это, по крайней мере, для сценария kerberos.

Приветствия Bernd

PS:Я не уверен, можете ли вы передать контекст аутентификации, установленный с помощью решения jcifs / ntmlm, внутреннему компоненту, такому как SQL Server.Он должен работать с билетами Kerberos (если настроен).

Другие советы

jTDS и драйвер Microsoft JDBC предлагают встроенную проверку подлинности Windows.

Вы смотрели на этот вопрос?Ситуация, похоже, похожа на вашу (подключение к базе данных SQL Server с использованием проверки подлинности Windows).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top