当 Windows 用户登录时,如果他们没有显式集成登录映射,但属于一个有集成登录映射的 Windows 用户组,则该用户将作为 Windows 用户组的集成登录映射中指定的数据库用户或组连接到该数据库。
如果 Windows 用户属于多个 Windows 用户组,且计算机上的这些多个 Windows 用户组在数据库中具有集成登录映射,则只有在计算机上的所有这些 Windows 用户组具有到同一数据库用户 ID 的集成登录映射时,集成登录才能成功。如果这些多个 Windows 用户组具有到不同数据库用户 ID 的集成登录映射,则会返回一个错误,并且集成登录会失败。
例如,请看这样一个数据库:它有两个用户 ID(dbuserA 和 dbuserB)和一个 Windows 用户 windowsuser,该用户属于 Windows 用户组 xpgroupA 和 xpgroupB。
此 SQL 语句... | 允许... | ||
---|---|---|---|
|
windowsuser 使用为 windowsuser 显式设置的集成登录映射连接到该数据库。 | ||
|
windowsuser 使用授予 xpgroupA 的集成登录映射连接到该数据库。 | ||
|
windowsuser 连接到该数据库,因为 windowsuser 所属的所有 Windows 用户组都具有到相同数据库用户的集成登录映射。 | ||
|
与数据库之间无连接。当 windowsuser 尝试连接到该数据库时,集成登录失败,因为两个 Windows 用户组具有到不同数据库用户的集成登录映射,并且 windowsuser 是这两个 Windows 用户组的成员。 |
缺省情况下,运行 SQL Anywhere 数据库服务器的计算机用于验证 Windows 用户组成员资格。如果域控制器服务器不在运行数据库服务器的计算机上,则可以使用 integrated_server_name 选项来指定域控制器服务器的名称。例如:
SET OPTION PUBLIC.integrated_server_name = '\\myserver-1'; |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |