2016-04-23 38 views
4

我從火鳥2.5.X遷移到3.0 我已經firebird.conf改變:這裏後火鳥3 SYSDBA密碼驚豔問題

WireCrypt = Enabled 
AuthServer = Legacy_Auth, Srp, Win_Sspi 

你發生了什麼:

我可以從Netbeans的連接IDE使用SYSDBA masterkey。 我可以使用SYSDBA與其他密碼從FlameRobin(數據庫管理員工具)連接。 我無法使用帶有其他密碼的使用SYSDBA的Wild-Fly服務器進行連接。

我真的好奇。

+0

也許Flamerobin連接是通過一個根本不檢查密碼的嵌入式服務器來完成的。 –

+0

好吧,爲什麼flameRobin拒絕與「masterkey」的連接? – kamel2005

+0

firebird.conf中的SecurityDatabase參數有什麼值? –

回答

7

我假設你在從Netbeans和Wildfly連接時使用Jaybird 2.2.x(或更早的版本)。藉助Firebird 3,引入了一種新的身份驗證模型,稱爲SRP(安全遠程密碼)。 Jaybird 2.2.x不支持這種新的身份驗證模式(支持將添加到Jaybird 3.0中),因此您需要使用Legacy_Auth插件。

用戶每個插件都有一個單獨的標識,這意味着您(可以)有兩個名爲SYSDBA的用戶,一個用於SRP,一個用於Legacy_Auth。這些用戶有他們自己的密碼。

因此,當您從Netbeans和Wildfly連接時,您需要指定舊認證用戶的密碼。此密碼看起來是masterkey,或者實際上是:masterke,因爲傳統密碼只有8個字符。

當您從flamerobin連接,您可以使用(SRP的SYSDBA用戶)的「其他」密碼flamerobin使用火鳥3 fbclient.dll/libfbclient.so和爲此支持新的SRP身份驗證模式。

據我所知,flamerobin也應該能夠使用傳統sysdba用戶的密碼進行身份驗證(當登錄失敗時,它應該嘗試下一個插件)。我明天會測試一下。

+0

現在看起來很清楚 – kamel2005

+0

@ kamel2005我懷疑用flamerobin的'問題'可能是由於插件的順序。您已將AuthServer設置爲先嚐試Legacy_Auth,而AuthClient的(默認)則是先嚐試Srp。我明天會試試。 –

+0

爲客戶端和服務器設置相同的順序很重要嗎? – kamel2005