使用Firebird 2.1时,可以通过在相应参数块中传递isc_dpb_trusted_auth
和isc_spb_trusted_auth
来建立使用受信任身份验证的连接。
已连接的用户将具有管理权限,具体取决于他们是具有管理权限的Windows组的成员。
对于Firebird 2.5,可以指定角色“rdb $ admin”以连接数据库的管理权限,前提是该用户已被授予该角色的权限。
我想使用该角色建立具有管理权限的服务连接,但尚未找到方法。已建立连接,但我无法列出数据库用户,我可以将其作为SYSDBA连接。
我需要isc_spb_trusted_auth
,isc_spb_trusted_role
和isc_spb_sql_role_name
或其他参数块的组合,以及我需要传递哪些参数?
答案 0 :(得分:0)
角色与用户之间在存储适当数据方面存在差异。前者存储在RDB $ ROLES表的数据库中。后者存储在一个名为security2.fdb的特殊单独数据库文件中,该文件通常位于Firebird目录中。
通过Firebird API附加到服务管理器时,尚未知道特定数据库。仅指定服务器名称。因此,您无法使用角色。此时服务器根本不知道从哪个数据库读取角色凭证。
答案 1 :(得分:0)
FB2.5中唯一的服务接受角色参数是用户的管理 - 这就是自interbase 6以来服务的工作方式。从FB3开始,将存在将其用于其他服务的能力。