2011-11-28 29 views
0

我已經安裝了DB2 Express C 9.7.4版本。沒有指定用戶名和密碼的DB2連接

我正在使用JAVA language來建立DB2 Connection

但我必須仍然提供user name and password of my windows Login帳戶建立連接...

是否有必要提嗎?

有沒有什麼方法可以建立連接,而不需要指定用戶名/密碼,因爲在安裝過程中我們跳過了頁面。

在此先感謝...

+0

我甚至不知道是否可以設置一個數據庫接受匿名連接。你爲什麼不建立一個數據庫賬戶,並擁有它所需要的權限?這就是通常的做法。 – bdares

+0

請不要允許未經身份驗證的連接到您的數據庫。你只是要求有人去尋找內部信息...... –

回答

3

當應用程序在同一臺計算機的數據庫服務器上運行時,DB2將作一個假設,即啓動應用程序的用戶ID已經由操作系統認證 - 所以不需要額外的認證。這被稱爲impicit認證

所以,不需要更改默認的DB2數據庫配置,你可以做到這一點,如果滿足以下條件:

  1. 的Java應用程序必須在同一臺機器上運行的DB2數據庫

  2. 您的應用程序必須使用JDBC類型2連接(JDBC URL應該看起來像jdbc:db2:database - 不是jdbc://localhost:50000/database)。

  3. 執行Java應用程序的用戶標識具有權限連接到DB2數據庫中查詢相應的表等

它可以允許在比其他數據庫的計算機上運行的應用程序隱式認證服務器,但是這種請求會設置可信的上下文或者打開一個很大的安全漏洞(更改數據庫配置參數AUTHENTICATION)。

0

你在截圖提的是隻是爲了表明實例和其他服務已啓動道路的選擇。它並不意味着DB2中使用的認證機制。

爲了允許未知用戶連接到數據庫,您必須向公共組授予「連接」權限。通過這樣做,任何用戶都可以連接到數據庫,並且不需要提供憑證。

db2 GRANT CONNECT ON DATABASE TO PUBLIC 

欲瞭解更多信息: http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.sql.ref.doc/doc/r0050616.html

+1

指出,授予公衆訪問權限通常是一個非常糟糕的主意,因爲這更容易導致數據泄露。如果您經營企業,您可能會被視爲違反PCI(或本地等效)。 –

+0

這個答案是不正確的。身份驗證(驗證用戶是她自稱的用戶)與授權無關(無論用戶是否有權連接到數據庫,查詢表等)。 OP詢問如何使用java應用程序進行隱式認證。 –

相關問題