介绍 Notes Account Framework 的实现机制
Notes Account Framework 是直接使用了其底层平台 Expeditor(XPD) 封装好的的 Account Framework。XPD 的账户系统又是基于 JAAS(Java Authentication and Authorization Service framework) 的。 这种集成允许用户存储并获取一些在与本地或者远程服务创建连接和通信的属性,以及一些授权应用与服务做认证的属性。
JAAS 授权认证的方式是实例化一个登录上下文 (Login Context) 对象,这个对象标记了配置中用何种登录模块 (Login Module) 来实现认证。XPD 在不同的默认登录配置中规定了若干默认登录模块。登录模块可以取得用户名和密码以及其他认证时需要的数据并认证用户。回调处理函数 (CallbackHandler) 将在用户不可用时与用户互相配合以获得证书。一旦认证完成,一个由 JAAS 框架定义的用来代表请求来源的对象将通过登录模块把含有证书的 Cookies 或者令牌发布。每个 XPD 的账户都有一个与之联合的对象将认证令牌作为私有证书存储。
XPD 除了使用 JAAS 框架平台登录外,也将其用于账户对于远程服务的单点登录 (SSO). 账户内包含许多任意键或任意数值对。这些账户中的数据被加密存储在 Eclipse 的首选项中。账户的密码被加密存储在平台的密钥存储器里。账户的认证类型属性指示了平台哪些登录配置是用来做认证的。账户框架完全集成了 XPD 的 URL 处理器并允许远程服务的单点登录。
对于 Domino-SSO 认证类型的介绍
单点登录 (SSO) 是目前比较流行的企业业务的整合方案之一,SSO 是指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。Domino-SSO 是指用户只需要登录一次 Domino 服务器就可以登录与该 Domino 服务器所有相互信任的应用系统,例如 Sametime 服务器,Activities 服务器,Feeds 服务器以及本文中将主要介绍的 iNotes Web 服务器。Domino-SSO 认证类型的工作原理如下,首先各服务器的 DNS 需要在同一个域中,在配置 SSO 时为相关服务器配置统一的 SSO secret Key。当用户登录 Domino 服务器时,服务器验证成功后生成一个 LTPA Token, 并保存在浏览器 Cookie 中,当该用户登录另一台 Domino 服务器时,服务器监测到 LTPA Token 后就会将此 Token 解码并验证其是否有效。如果该 LTPA Token 为有效的,那么服务器就会为用户放行。
在 Domino 服务器端正确配置服务器文档与 Internet 站点
下面将详细介绍下如何在 Domino 服务器端配置服务器文档与 Internet 站点以实现 Domino SSO。
在 domino admin 中打开 names.nsf,展开 Configuration->Servers->All Server Documents
图 1. 所有服务器文档页面
打开所使用的 server document,在 basic 选项卡中确保选项 Load Internet configurations from Server\Internet Sites documents 的值为 Disabled。