Pregunta

¿Cómo funciona la autenticación de conexión de confianza JDBC de SQL Server? (es decir, cómo la conexión de confianza autentica al usuario AD registrado en una manera tan transparente y elegante y cómo puedo implementar una solución de autenticación similar para mis aplicaciones cliente-servidor en Java sin una conexión de base de datos o cualquier uso de la solución SQL Server existente. .)

Suposiciones * Trabajando dentro de un dominio de Windows 2003 * Tienes acceso a la API de Windows a través de JNI / JNA

¿Fue útil?

Solución

Depende del cliente. Por ejemplo, si tiene un navegador web, puede usar la autenticación NTLM para pasar la autenticación de dominio de su cliente actual al servidor. En este caso, el navegador como IE o FF admite esto, y su servidor web necesita el soporte para NTLM. Por ejemplo, aquí para Tomcat: http://jcifs.samba.org/src/docs/ ntlmhttpauth.html

También existe el SPNEGO protcol en combinación con Kerberos, como se explica aquí: http://java.sun.com/javase/6/docs/technotes/guides/security/jgss/lab/index.html

Si tiene su propio cliente, depende del marco del cliente si puede usar el contexto de seguridad del usuario local y puede transmitirlo. La página anterior describe esto al menos para un escenario kerberos.

Saludos Bernd

PD: no estoy seguro de si puede pasar el contexto de autenticación establecido con la solución jcifs / ntmlm a un componente de fondo como SQL Server. Debería funcionar con los tickets de Kerberos (si están configurados).

Otros consejos

jTDS y Microsoft JDBC Driver ofrecen autenticación nativa de Windows.

¿Ha visto esta pregunta ? La situación parece ser similar a la suya (conectarse a una base de datos de SQL Server utilizando la autenticación de Windows).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top