Como o servidor JDBC SQL Trusted trabalho Authentication Connection?
-
03-07-2019 - |
Pergunta
trabalho Authentication Connection Como o servidor JDBC SQL confiável? (Ou seja, como é que a conexão confiável autenticar o usuário conectado AD de uma forma tão transparente e elegante e como posso implementar uma solução de autenticação semelhante para minhas aplicações cliente-servidor em Java sem uma conexão de banco de dados ou qualquer uso da solução SQL Server existente .)
Pressupostos * Trabalhando dentro de um domínio Windows 2003 * Você tem acesso à API do Windows via JNI / JNA
Solução
Depende do cliente. Por exemplo, se você tem um navegador da Web, ele pode usar a autenticação NTLM para passar a autenticação de domínio do seu cliente atual para o servidor. Neste caso, o navegador como o IE ou FF suporta isso, e você servidor web precisa do suporte para NTLM. Por exemplo aqui para Tomcat: http://jcifs.samba.org/src/docs/ ntlmhttpauth.html
Há também a protcol SPNEGO em combinação com Kerberos, como explicado aqui: http://java.sun.com/javase/6/docs/technotes/guides/security/jgss/lab/index.html
Se você tem seu próprio cliente, que depende de enquadramento do cliente se ele é capaz de usar o contexto de segurança do usuário local e é capaz de transmiti-lo. A página acima descreve este, pelo menos para um cenário Kerberos.
Greetings Bernd
PS: Eu não tenho certeza se você pode passar o contexto de autenticação estabelecida com o JCIFS / solução ntmlm a um componente de backend como o SQL Server. Ele deve funcionar com bilhetes Kerberos (se configurado).
Outras dicas
jTDS e Microsoft Driver JDBC ambos oferecem autenticação nativa do Windows.
Você já olhou para esta questão ? A situação parece ser semelhante ao seu (conectando a um banco de dados SQL Server usando a autenticação do Windows).