Проблема с паролем Firebird 3 sysdba

Я перешел с firebird 2.5.x на 3.0, я изменил firebird.conf:

WireCrypt = Enabled
AuthServer = Legacy_Auth, Srp, Win_Sspi

после этого вот что произошло:

Я могу подключиться из IDE Netbeans с помощью главного ключа SYSDBA. Я могу подключиться из FlameRobin (инструмент администратора базы данных), используя SYSDBA с другим паролем. Я не могу подключиться с сервера Wild-Fly, используя SYSDBA с другим паролем.

Мне действительно интересно !!


person kamel2005    schedule 23.04.2016    source источник
comment
Возможно, соединение Flamerobin осуществляется через встроенный сервер, который вообще не проверяет пароли.   -  person Andrej Kirejeŭ    schedule 23.04.2016
comment
хорошо, а почему flameRobin отклоняет соединение с мастер-ключом?   -  person kamel2005    schedule 23.04.2016
comment
Какое значение имеет параметр SecurityDatabase в firebird.conf?   -  person Andrej Kirejeŭ    schedule 23.04.2016
comment
Могу я предположить, что вы используете Jaybird 2.2.x?   -  person Mark Rotteveel    schedule 23.04.2016
comment
да, я использую jaybird 2.2.10   -  person kamel2005    schedule 23.04.2016


Ответы (1)


Я предполагаю, что вы используете Jaybird 2.2.x (или более раннюю версию) при подключении из Netbeans и Wildfly. В Firebird 3 была представлена ​​новая модель аутентификации под названием SRP (Secure Remote Password). Jaybird 2.2.x не поддерживает эту новую модель аутентификации (поддержка будет добавлена ​​в Jaybird 3.0), поэтому вам необходимо использовать плагин Legacy_Auth.

У пользователей есть отдельные идентификаторы для каждого плагина, это означает, что у вас (может) быть два пользователя с именем SYSDBA, один для SRP и один для Legacy_Auth. У этих пользователей есть свои пароли.

Поэтому, когда вы подключаетесь из Netbeans и Wildfly, вам необходимо указать пароль старого пользователя аутентификации. Этот пароль выглядит как masterkey, или на самом деле: masterke, поскольку старые пароли состоят всего из 8 символов.

Когда вы подключаетесь из flamerobin, вы можете использовать «другой» пароль (пользователя SRP sysdba), поскольку flamerobin использует Firebird 3 _3 _ / _ 4_ и, следовательно, поддерживает новую модель аутентификации SRP.

Насколько мне известно, flamerobin также должен иметь возможность аутентифицироваться с паролем старого пользователя sysdba (при неудачном входе в систему он должен попробовать следующий плагин). Я проверю это завтра.

person Mark Rotteveel    schedule 23.04.2016
comment
@ kamel2005 Я подозреваю, что «проблема» с flamerobin может быть связана с порядком расположения плагинов. Вы установили AuthServer, чтобы сначала попробовать Legacy_Auth, в то время как (по умолчанию) для AuthClient сначала нужно попробовать Srp. Я попробую завтра. - person Mark Rotteveel; 23.04.2016
comment
важно установить одинаковый порядок для клиента и сервера? - person kamel2005; 23.04.2016
comment
@ kamel2005 Ранее я отмечал, что это не зависит от порядка, но это так; Я не совсем уверен, какая комбинация разрешает или запрещает это. Это кажется немного подозрительным. - person Mark Rotteveel; 24.04.2016
comment
@ kamel2005 Кажется, это комбинация порядка, в котором проверяются плагины, и что первый плагин, для которого известно имя пользователя, отклонит и завершит аутентификацию, если пароль неправильный. Я все еще считаю, что это ошибка, и попросил пояснений у разработчиков ядра Firebird. - person Mark Rotteveel; 24.04.2016