Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - 数据库管理 » 启动并连接到数据库 » SQL Anywhere 数据库连接 » 使用集成登录

 

为 Windows 用户组创建集成登录

当 Windows 用户登录时,如果他们没有显式集成登录映射,但属于一个有集成登录映射的 Windows 用户组,则该用户将作为 Windows 用户组的集成登录映射中指定的数据库用户或组连接到该数据库。

小心

创建某个 Windows 用户组的集成登录后,所有该组成员用户无需提供用户 ID 或口令就能连接到该数据库。

请参见防止 Windows 用户组成员连接到数据库

多个组的成员

如果 Windows 用户属于多个 Windows 用户组,且计算机上的这些多个 Windows 用户组在数据库中具有集成登录映射,则只有在计算机上的所有这些 Windows 用户组具有到同一数据库用户 ID 的集成登录映射时,集成登录才能成功。如果这些多个 Windows 用户组具有到不同数据库用户 ID 的集成登录映射,则会返回一个错误,并且集成登录会失败。

例如,请看这样一个数据库:它有两个用户 ID(dbuserA 和 dbuserB)和一个 Windows 用户 windowsuser,该用户属于 Windows 用户组 xpgroupA 和 xpgroupB。

此 SQL 语句... 允许...
GRANT INTEGRATED LOGIN
TO windowsuser
AS USER dbuserA;
windowsuser 使用为 windowsuser 显式设置的集成登录映射连接到该数据库。
GRANT INTEGRATED LOGIN
TO xpgroupA
AS USER dbuserB;
windowsuser 使用授予 xpgroupA 的集成登录映射连接到该数据库。
GRANT INTEGRATED LOGIN
TO xpgroupA
AS USER dbuserB;
GRANT INTEGRATED LOGIN xpgroupb
AS USER dbuserB;
windowsuser 连接到该数据库,因为 windowsuser 所属的所有 Windows 用户组都具有到相同数据库用户的集成登录映射。
GRANT INTEGRATED LOGIN
TO xpgroupA
AS USER dbuserA;
GRANT INTEGRATED LOGIN 
TO xpgroupb
AS USER dbuserB;
与数据库之间无连接。当 windowsuser 尝试连接到该数据库时,集成登录失败,因为两个 Windows 用户组具有到不同数据库用户的集成登录映射,并且 windowsuser 是这两个 Windows 用户组的成员。
域控制器位置

缺省情况下,运行 SQL Anywhere 数据库服务器的计算机用于验证 Windows 用户组成员资格。如果域控制器服务器不在运行数据库服务器的计算机上,则可以使用 integrated_server_name 选项来指定域控制器服务器的名称。例如:

SET OPTION PUBLIC.integrated_server_name = '\\myserver-1';

请参见integrated_server_name 选项 [数据库]