此页面为机器翻译。请阅读英文原文。 English

IBSurgeon 文库

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

但我们无法分辨哪个用户对应哪个密码 :)