1. 应用背景
伴随着 domino 8.5.1 (或更高版本)对 SPNEGO(Simple and Protected GSSAPI Negotiation Mechanism)单点登录的支持,使用 SPNEGO 单点登录,用户只需在自己的客户端上登陆到 Windows 的域中,就可以用浏览器直接访问 Domino 服务器资源而不用再次提供用户名称和密码。本文将详细介绍 Domino 自身实现 SPNEGO 单点登录配置步骤。
SPNEGO协议可以被用来协商使用何种安全机制。Windows 系统允许使用多种认证机制,因此它也使用 SPNEGO 协议来进行客户端和服务器之间的认证机制协商。它比较常见的使用在微软的 HTTP 认证中,包括了 NTLM(NT LAN Manager)和 Kerberos, 两者都在活动目录中使用,更多关于 SPNEGO 的信息可以参考:http://en.wikipedia.org/wiki/SPNEGO
注:
- 此文档不涉及各位什么是SSO,也不会细述Domino SSO配置详细步骤,只关注如何在Domino启用SPNEGO
- 此文档仅适用于Domino与AD的单点登录,不涉及统一帐户管理与同步。不适用于WebSphere/Domino混合环境与AD实现单点登录。
2. 环境要求
- 需要一台微软 Windows 活动目录域服务器,提供 Kerberos Key 分配中心服务和 LDAP 服务。
- 需要使用 Windows 2003 服务器或 Windows 2003 以上版本服务器, 如果使用的是 Windows 2003 域服务器,不能使用向后兼容模式。
注:你不能把 Windows 2003 域服务器设置成使用 Windows 2000 混合模式。
- Domino 8.5.1(或更高版本) 服务器运行在一个 Windows 机器上,并且这台机器加入了活动目录的域中。
- Domino 8.5.1(或更高版本) 服务器配置成 “多服务器验证” 的单点登录授权机制(MSSO)。
- 需要一台加入了活动目录域中的 Windows 的客户端, 这个机器上运行着支持 Domino 的浏览器。
- Web 用户在活动目录域服务器中有账号。
- 已知AD网络域名称,如:AD网络域名称为ACME.COM,NetBIOS名称为ACME
3. 具体配置
3.1 在AD创建运行帐户
3.2 生成SPN
命令行中运行以下命令 :
setspn -a HTTP/domino.acme.com sys_domino
我们可以看到 HTTP/domino.acme.com 被成功的创建了:
Registering ServicePrincipalNames for CN=domino,CN=Computers,DC=acme,DC=com HTTP/oa.acme.com Updated object
另外,必须确定 KDC(Kerberos Key Distribution Center) 服务已经在活动目录服务器上启动。如果有多台domino服务器需要分配SPN,则重复执行setspn命令
3.3 为参与单点登录的Domino服务器添加参数
3.4 修改Domino服务设置
3.5 配置Domino单点登录
3.6 在Domino目录中映射AD帐户
修改后,保存个人文档。
4. 客户端设置
经过以上设置后,服务器已经设置好与AD的集成,如果客户端的操作系统XP或Windows7加入到域后,IE设置启用Windows集成验证,如下图:
5. 相关链接
- http://www-10.lotus.com/ldd/dominowiki.nsf/dx/How_to_configure_the_Windows_single_sign-on_(SSO)_for_Web_clients_(SPNEGO)_in_an_existing_Domino_environment_(Tutorial)
- http://www.ibm.com/developerworks/cn/lotus/quickr-domino85-sso/index.html
- http://www-900.ibm.com/cn/support/faqhtmlfaq/1847660C24000.htm