2009-04-29 15 views
0

現在我有以下的架構與傳統的ASP內置和Visual Basic 6的Java模擬使用Windows身份驗證

我有一個COM +組件在VB6開發出連接到dabatase連接到SQL Server。我通過配置了集成安全性的.udl文件來設置數據庫。

在Web服務器(IIS)我註冊與COM +經理componente,並將其配置爲下一個帳戶名在SQL 2005中運行,像MYDOMAIN \ appAccount ...

我給此時,相應的權限MYDOMAIN \ appAccount

從ASP,我只是用用的Server.CreateObject組件...

我想開發與Java類似的解決方案,這個問題(S)是(是)的如下:

是不是p ossible?

我怎樣才能配置一個域帳戶連接到SQL Server 2005分貝?

我應該在哪裏存儲db conf?我應該在哪裏配置域帳戶?在tomcat/jetty配置?

我想該解決方案是簡單和直截了當地(我試圖避免的事情比如GlassFish或JBoss的)

好,非常感謝......

回答

1

什麼你需要做的是確保Tomcat的JVM進程正在通過與受信任的連接到數據庫的用戶執行。

然後,您需要根據Bhushan's answer在Tomcat中配置數據源。

以下MSDN文章詳細介紹如何設置數據源使用集成安全性:

+0

非常感謝,我仍然無法接受答案,因爲我沒有時間去嘗試,但我希望我可以很快做到這一點... – opensas 2009-07-18 20:45:44

1

所以這是一個真正棘手的問題,而我經歷同樣的問題現在。我還沒有解決應用程序服務器內的模擬問題,但我的團隊正在接近。

到目前爲止,我們已經成功地針對使用Kerberos的域控制器對用戶進行身份驗證。 SourceForge SPNEGO和Spring Security Kerberos Extension在這方面都非常有幫助。連接到SQL Server時,我們也能夠成功地模擬運行Java應用程序的進程。真正的問題是通過委託進行模仿,因爲它要求您獲得可委派給其他服務的Kerberos票據。這是我們目前正在處理的問題。

如果您打算在SQL Server中模擬用戶,則必須使用NTLM或Kerberos來執行此操作。 Kerberos提供最好的安全性,而且很坦白地說,我們甚至沒有打算嘗試使用NTLM。有兩個JDBC驅動程序(我知道)可以讓您使用域帳戶連接到SQL Server:jTDS和DataDirect JDBC。jTDS是一種Type-2 JDBC驅動程序,這意味着它依靠本地庫來爲用戶獲取憑證。 jTDS只會冒充運行該進程的用戶,並且不允許您冒充其他帳戶(也只能在Windows上執行此操作)。 DataDirect驅動程序(商業)是一個Type-4驅動程序,這意味着它是一個純Java實現(並且將在* nix上工作)。這是我們正在使用的驅動程序,它的工作很棒。

如果我找到了解決方案,我會發布它,因爲我認爲社區中的很多人都在這個問題上受到傷害。

祝你好運!

+0

感謝很多理查德,你的帖子lookin fordward ... – opensas 2010-02-04 13:09:27

相關問題