慕容森
最终实现用户通过 Notes 客户端的嵌入式浏览器单点登录 iNotes。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 打开所使用的 server document,在 basic 选项卡中确保选项 Load Internet configurations from Server\Internet Sites documents 的值为 Disabled。 配置 Web SSO,Configuration Name 请填写为 LtpaToken,目前只支持此名称。Organization 应为您的组织名。填写相应的 DNS Domain。 点击 Keys... 按钮,选择 Create Domino SSO Key。Domino 会自动为您创建 Key,创建成功后,会提示成功创建 Domino SSO Key 的窗口。 回到 Server Document 页面,切换至 Internet Protocols... 选项卡,在 Internet Protocols... 选项卡中选择 Domino Web Engine 选项卡,将 Session authentication 设置为 Multiple Servers(SSO),Web SSO Configuration 设置为我们刚刚创建的 LtpaToken。其它选项可以设置为默认值。 打开并登陆 Notes 客户端,选择 File 菜单中的 Preferences 选项来打开 Preferences 设置窗口。 在 Preferences 窗口中选择 Accounts 选项,并点击 New Account 按钮来创建一个新的账号。 在 New Account 窗口中填写相应信息: 在 Basics 栏中: Account Name:您的账户名 如:iNotes SSO Description:(可选) Type:HTTP/HTTPS 在 Log in information 栏中: 点选 Use Domino single sign-on if available,并将您的 Domino server 填写在 Domino single sign-on server 选项中。 点击 Advanced properties 前的加号来展开 Advanced properties 栏。在 Authentication Type 栏中填写 DOMINO-SSO。 点击 OK 保存 Account。