访问控制
授予用户的对客户机上 Domino 服务器或者 Notes/Domino 软件的访问级别取决于 createSession 如何进行编码以及服务器或者客户机的设置。访问控制是通过以下两种方式之一实现的:
Domino Directory 中的名称和相关 Internet 密码
这种方式用于本地或者远程访问。对于本地访问,运行代码的计算机必须配置为 Domino 服务器。
当前 Notes ID(由 Notes.ini 中的 KeyFileName 变量指定)
这种方式仅用于本地调用。运行代码的计算机可以包含 Notes 客户机或者 Domino 服务器。
通过 Domino Directory 访问
对于通过 Domino Directory 访问,代码将确定用户是以 Anonymous 匿名访问服务器,还是作为 Domino Directory 中列出的用户来访问服务器。在 NotesFactory 调用中,假如仅指定了主机名称,或指定了空字符串作为用户名和密码,那么将以 Anonymous 访问服务器。例如:
Session s = NotesFactory.createSession("myhost.east.acme.com:63148");
或者
Session s = NotesFactory.createSession("myhost.east.acme.com:63148", "", "");
要以 Domino 用户访问服务器,需要指定用户名和 Internet 密码作为参数 2 和参数 3。用户名和密码必须与服务器上 Domino Directory 中的 Person 文档匹配,例如:
Session s = NotesFactory.createSession("myhost.east.acme.com:63148", "Jane Smith/East/Acme", "topS3cr3t");
假如对运行代码的计算机上安装的 Domino 服务器进行本地访问,需要指定主机名称为空字符串,例如:
Session s = NotesFactory.createSession("", "Jane Smith/East/Acme", "topS3cr3t")
对于 Anonymous 访问,需要指定用户名和密码为空字符串:
Session s = NotesFactory.createSession("", "", "")
对于本地访问,则不必运行服务器。
Domino Directory 的 Server 文档中的设置控制着是 Anonymous 访问还是命名访问。在 Server 文档中,转至 Ports 选项卡、Internet Ports 选项卡和 DIIOP 选项卡。下表指定了设置:
客户机代码 Authentication options
createSession(host, "", "") Anonymous 必须为 Yes,以便访问服务器
createSession(host, name, passWord) Name & password 必须为 Yes,以便访问服务器
对于 Name & password 验证,名称必须是服务器上 Domino Directory 中 Person 文档中的用户名,密码必须是同一 Person 文档中的 Internet 密码。可以进一步限制访问,方法是在 Domino Directory 的 Server 文档中,在 Ports 选项卡和 Internet Ports 选项卡下,将 Enforce server Access settings 字段设为 Yes,以便使用 DIIOP 端口。然后在 Security 选项卡下的 Server Access 选项卡中指定希望的访问。
下表列出了 DIIOP 选项卡中的字段:
字段 备注
(TCP/IP) Name and Password DIIOP 验证需要名称和密码
(TCP/IP) Anonymous DIIOP 验证不需要名称和密码
(TCP/IP) Enforce server access settings DIIOP 使用 Security 选项卡下的 Server Access 设置
(SSL) Name and Password DIIOP SSL 验证需要名称和密码
(SSL) Anonymous DIIOP SSL 验证不需要名称和密码
下列 Notes.ini 设置会影响通过远程或本地 Java 类获得的 Internet 会话的安全性