如何使用受信任的身份验证和RDB $ ADMIN角色建立Firebird 2.5服务连接?

时间:2012-09-16 08:35:07

标签: firebird firebird2.5

使用Firebird 2.1时,可以通过在相应参数块中传递isc_dpb_trusted_authisc_spb_trusted_auth来建立使用受信任身份验证的连接。 已连接的用户将具有管理权限,具体取决于他们是具有管理权限的Windows组的成员。

对于Firebird 2.5,可以指定角色“rdb $ admin”以连接数据库的管理权限,前提是该用户已被授予该角色的权限。

我想使用该角色建立具有管理权限的服务连接,但尚未找到方法。已建立连接,但我无法列出数据库用户,我可以将其作为SYSDBA连接。

我需要isc_spb_trusted_authisc_spb_trusted_roleisc_spb_sql_role_name或其他参数块的组合,以及我需要传递哪些参数?

2 个答案:

答案 0 :(得分:0)

角色与用户之间在存储适当数据方面存在差异。前者存储在RDB $ ROLES表的数据库中。后者存储在一个名为security2.fdb的特殊单独数据库文件中,该文件通常位于Firebird目录中。

通过Firebird API附加到服务管理器时,尚未知道特定数据库。仅指定服务器名称。因此,您无法使用角色。此时服务器根本不知道从哪个数据库读取角色凭证。

答案 1 :(得分:0)

FB2.5中唯一的服务接受角色参数是用户的管理 - 这就是自interbase 6以来服务的工作方式。从FB3开始,将存在将其用于其他服务的能力。