在 Lotus Domino 服务器上设置用户名和口令认证,一般来说,需要为每个 Web 用户创建个人文档(Person Document),把用户名和口令保存在个人文档中。个人文档可以放在 Domino 目录(Domino Directory)中,或者是次级 Domino 目录(Secondary Domino Directory)中,还可以放在外部的 LDAP 目录中。没有个人文档的用户,只能访问允许匿名的服务器和数据库。
但有时用户的用户名和口令并没有被保存在个人文档中,比如,用户名和口令信息被保存在外部文件或其它系统中,而且你也不想或者也不可能为这些用户重新创建个人文档;或者你想采用自己的一套认证方案。这时,我们就可以利用 Domino 网络服务器应用程序编程接口(Domino Web Server Application Programming Interface, DSAPI)为 Web 用户定制用户名和口令认证。
DSAPI 是一个 C 语言的应用程序编程接口,它使你可以为 Domino 服务器编写自己的扩展(extensions)。在处理 HTTP 请求过程中,每当一个特殊事件发生时,DSAPI 扩展,或者可以称为 DSAPI 过滤器(filter),就会被触发。
使用 DSAPI 几乎可以实现任何的用户名和口令认证标准,而不管这种标准是使用 Domino 目录或者外部 LDAP 目录中的用户名和口令,还是使用保存在 cookie 中的用户名,或者是其它机制。
另外,使用 DSAPI 还可以控制对 Domino 服务器中受保护资源的访问权限。DSAPI 不直接改变 Domino 存取控制(Access Control)。但是,它允许直接设置用户授权的用户名,这个用户名可以被用来访问受保护的资源。这样 DSAPI 的开发者完全可以控制把登录的用户名转换或映射到一个不同的用户名上,从而实现对 Domino 服务器中受保护资源的访问控制。