Firebirdユーザーで、名前は同じだがパスワードが異なる場合
Firebird Friday Joke #7は、Firebird 3の初心者がよく混乱する点についてです。それは、異なるユーザーマネージャーに同じ名前で異なるパスワードを持つユーザーを作成できることです。
firebird.confで2つのユーザーマネージャーを有効にしている場合
AuthServer = Srp, Legacy_Auth
UserManager = Srp, Legacy_UserManager
デフォルトプラグインであるSrpで1人のユーザーを作成し、Legacy_UserManagerでもう1人のユーザーを作成できます。
SQL> CREATE USER newuser PASSWORD ‘12345’;
SQL> CREATE USER newuser PASSWORD ‘67890’ using plugin Legacy_UserManager;
SQL> exit;
そして、同じユーザー名で異なるパスワードを使ってデータベースにログインします。
次に、以下を試してみてください。
E:\testFB\Firebird_3.0>isql localhost/3058:d:\o30copy.fdb -user newuser -pass 12345
Database: localhost/3058:d:\o30copy.fdb, User: NEWUSER
SQL> exit;
E:\testFB\Firebird_3.0>isql localhost/3058:d:\o30copy.fdb -user newuser -pass 67890
Database: localhost/3058:d:\o30copy.fdb, User: NEWUSER
SQL> exit;
これらのユーザーを識別できます:
SQL> select SEC$USER_NAME, SEC$PLUGIN from sec$users;
SEC$USER_NAME SEC$PLUGIN
=============================== ===============================
NEWUSER Srp
NEWUSER Legacy_UserManager
しかし、どのユーザーがどのパスワードを持っているかはわかりません :)