我正在使用Firebird 2.5,并希望使用Windows Trusted身份验证进行登录,该方法工作正常。但是我希望为每个Windows用户分配一个他们要登录的数据库的特定角色。我已经在数据库中定义了角色,但是不知道如何将角色分配给Windows用户。我想,如果我在安全性数据库中添加了一个具有相同Windows名称的用户,并为其分配了一个可以正常工作的角色,但显然没有。任何帮助将不胜感激
答案 0 :(得分:0)
在Firebird 2.5及更早版本中,使用角色的唯一方法是在isc_dpb_sql_role_name
连接属性(或等效属性)中的连接上显式指定该角色,假设已授予该角色该用户。 Firebird 2.5中引入了一个例外,即“自动管理员映射”,它自动为管理员用户启用RDB$ADMIN
角色。
在Firebird 3中,您可以创建自定义映射,从而允许您将特定用户映射到角色。参见Mapping of Users to Objects。该文档表明,还可以将从可信身份验证派生的用户组映射到角色或用户,但这没有明确记录,因此我不确定它是如何工作的。
Firebird 4将为用户引入默认角色,可以将默认角色授予该用户。将始终为用户启用默认角色。