2013-06-25 101 views
1

我有一個java應用程序,我正在寫這篇文章來幫助我的部門通過比較數據庫中的數據和預期的結果來審計我們的文檔。它還允許創建報告來驗證數據。我已經能夠完美地工作,但現在我的主管希望更多的人能夠使用應用程序,而不是數據庫管理員想要授予訪問權限。所以這裏是問題:通過使用Java提供憑據的Windows身份驗證連接到SQL Server

我需要能夠通過使用不同的憑據(如應用程序的所有用戶的普通用戶名和密碼)連接到MS SQL Server(使用Windows身份驗證)比Windows用戶帳戶。有沒有辦法操縱或設置發送到服務器進行Windows身份驗證的憑據?我應該使用什麼驅動程序或外部罐子?

用戶與服務器位於同一個域中,因此不應該成爲問題。我也不需要知道如何使用Windows身份驗證連接,我已經這樣做了。我不需要SSO。我看着JTDS,但它似乎是抓住Windows帳戶仍使用以下格式:

String DATABASE_URL = "jdbc:jtds:sqlserver://<ServerName>:<port>/<DatabaseName>;user=<username>;password=<password>;domain=<Domain>;"; 

在此先感謝!

回答

0

我很確定這是不受支持的。

當用戶連接通過Windows用戶帳戶,SQL服務器 驗證使用操作系統中的Windows主體 令牌的帳戶名和密碼。這意味着用戶身份是由Windows確認的 。 SQL Server不要求輸入密碼,並且 不執行身份驗證。 Windows身份驗證是默認身份驗證模式的 ,並且比SQL 服務器身份驗證安全得多。 Windows身份驗證使用Kerberos安全 協議,爲強密碼提供密碼策略實施方面的 複雜性驗證,爲 帳戶鎖定提供支持,並支持密碼過期。使用Windows身份驗證的 連接有時稱爲可信連接, ,因爲SQL Server信任由Windows提供的憑據。

http://technet.microsoft.com/en-us/library/ms144284.aspx

+0

當JTDS它提到能夠使用Windows身份驗證與非Windows機器看。我會想象,同一個進程可以從Windows機器上覆制,但也許我錯了。 [http://jtds.sourceforge.net/faq.html](http://jtds.sourceforge.net/faq.html)說:「如果沒有安裝本地SSO庫,您仍然需要提供用戶名和密碼,否則jTDS無法確定用戶憑據,這有一個好方面:非Windows平臺上的用戶可以通過在URL中提供它們以及域名來使用Windows憑據登錄。「 – user2520367

相關問題