在 Windows 域中,可以在基于 Windows 的计算机上使用 SSPI 且无需在客户端计算机上安装 Kerberos 客户端。Windows 域帐户已经拥有关联的 Kerberos 主体。
SSPI 只能在 Kerberos 连接参数中由 SQL Anywhere 客户端使用。SQL Anywhere 数据库服务器不能使用 SSPI,它们需要支持的 Kerberos 客户端而不是 SSPI。
设置 Kerberos 验证。请参见设置 Kerberos 验证。
使用 -krb 选项启动 SQL Anywhere 服务器以便启用 Kerberos 验证。例如:
dbeng12 -krb -n my_server_princ C:\kerberos.db |
将公共或临时公共选项 login_mode 更改为包含 Kerberos 的值。必须具有 DBA 权限才能设置此选项。例如:
SET OPTION PUBLIC.login_mode = 'Kerberos'; |
为客户端创建数据库用户 ID。(或者,只要现有数据库用户拥有正确的权限,您就可以使用该用户的 ID 进行 Kerberos 登录。)例如:
CREATE USER kerberos_user IDENTIFIED BY abc123; |
执行 GRANT KERBEROS LOGIN TO 语句,创建从客户端的 Kerberos 主体到现有数据库用户 ID 的映射。此语句需要 DBA 权限。例如:
GRANT KERBEROS LOGIN TO "pchin@MYREALM.COM" AS USER "kerberos_user"; |
从客户端计算机连接数据库。例如:
dbisql -c "KERBEROS=SSPI;Server=my_server_princ" |
若连接字符串中指定了 Kerberos=SSPI,则会尝试进行 Kerberos 登录。
某个用户已经登录,且登录时使用的用户配置文件名与服务器的缺省数据库中的 Kerberos 登录映射相匹配,那么,使用以下 Interactive SQL 语句来尝试连接同样也会成功:
CONNECT USING 'KERBEROS=SSPI'; |
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |