5

我从 firebird 2.5.x 迁移到 3.0 我更改了 firebird.conf :

WireCrypt = Enabled
AuthServer = Legacy_Auth, Srp, Win_Sspi

在那之后你就是发生了什么:

我可以使用 SYSDBA 主密钥从 Netbeans IDE 进行连接。我可以使用带有其他密码的 SYSDBA 从 FlameRobin(数据库管理员工具)连接。我无法使用带有其他密码的 SYSDBA 从 Wild-Fly 服务器连接。

我真的很纳闷。!!

4

1 回答 1

8

我假设您在从 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 个字符。

当您从flarerobin 连接时,您可以使用(SRP sysdba 用户的)“其他”密码,因为flarerobin 使用Firebird 3 fbclient.dll/ libfbclient.so,因此支持新的SRP 身份验证模型。

据我所知,flarerobin 也应该能够使用旧 sysdba 用户的密码进行身份验证(当登录失败时,它应该尝试下一个插件)。我明天会测试一下。

于 2016-04-23T19:55:42.797 回答