2008-10-21 89 views
0

SQL Server JDBC可信連接身份驗證如何工作? (即,可信連接如何以透明和優雅的方式驗證已登錄的AD用戶,以及如何在沒有數據庫連接或使用現有SQL Server解決方案的情況下爲Java中的客戶端 - 服務器應用程序實現類似的身份驗證解決方案。)SQL Server JDBC可信連接身份驗證如何工作?

假設 *您可以訪問Windows的API通過JNI/JNA

回答

1

這取決於客戶端。例如,如果您有Web瀏覽器,則可以使用NTLM身份驗證將當前客戶端的域身份驗證傳遞給服務器。在這種情況下,像IE或FF這樣的瀏覽器支持這一點,並且您的Web服務器需要支持NTLM。例如這裏爲Tomcat:http://jcifs.samba.org/src/docs/ntlmhttpauth.html

也有在使用Kerberos組合SPNEGO協議型,如這裏說明:http://java.sun.com/javase/6/docs/technotes/guides/security/jgss/lab/index.html

如果你有自己的客戶端,這取決於客戶端的架構,如果它能夠使用本地用戶的安全上下文並能夠將其傳遞。上面的頁面至少描述了這個kerberos場景。

問候 貝恩德

PS:我不知道,如果你可以通過與JCIFS/ntmlm解決方案,如SQL Server後端組件建立的認證環境。它應該與Kerberos票據一起工作(如果已配置)。

+0

這個PS評論是關於這個問題的。我想將使用jcifs建立的認證上下文傳遞給像SQL Server這樣的後端組件。 有什麼建議嗎? – hawkeye 2008-11-17 11:31:38

0

你看着this question Windows 2003域 內工作?情況似乎與您的情況類似(使用Windows身份驗證連接到SQL Server數據庫)。

1

jTDS和Microsoft JDBC驅動程序都提供本機Windows身份驗證。

相關問題