Firebird用户同名但密码不同
Firebird 周五笑话 #7 讲的是 Firebird 3 中经常让新手感到困惑的一个功能:在不同的用户管理器中,可以存在用户名相同但密码不同的用户。
如果你在 firebird.conf 中启用了 2 个用户管理器
AuthServer = Srp, Legacy_Auth
UserManager = Srp, Legacy_UserManager
你可以用 Srp(作为默认插件)创建一个用户,再用 Legacy_UserManager 创建另一个用户。
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
但我们无法分辨哪个用户对应哪个密码 :)