如何在 Lotus Domino 中为不同的数据库设置不同的 Web 身份验证模式
Posted
技术标签:
【中文标题】如何在 Lotus Domino 中为不同的数据库设置不同的 Web 身份验证模式【英文标题】:How to set different web authentication mode for different database in Lotus Domino 【发布时间】:2009-09-23 21:03:22 【问题描述】:免责声明:我不是 Notes 管理员,我只是编写了应用程序 :),我试图帮助我们的客户使用它。
我们提供一个简单的数据库和一个代理来接受和处理来自 Internet 的 HTTP POST 消息。
将要安装此数据库的 Domino 服务器配置为用于 Web 访问的单点登录身份验证。
有没有办法只设置我们的数据库以使用不同类型的身份验证 - 即基本身份验证,所以我们可以像这样点击它来向代理发送消息:
http://username:password@my.domino.server/mydb.nsf/myagent
我还考虑了另一种方法 - 删除任何形式的身份验证,并在 POSTed 数据本身中传递凭据。然后代理将根据凭据是否正常来处理或不处理数据。但这很可能需要某种形式的“模仿”——即以某种方式将匿名用户映射到有权执行代理的用户。所以,我对这个问题的有效回答可能是如何设置的建议。
此外 - 我们正在研究 Web 服务方法(在 Domino 7.0+ 中可用),但它需要双方都进行更改 - 发送者(我们的发布者服务)和接收代理。并且很可能会回到关于如何验证发件人身份的原始问题。
我们将不胜感激任何这方面的建议(甚至改变方法)。
干杯
【问题讨论】:
【参考方案1】:从 Domino 7.0.2 开始,有一种名为“Override Session Authentication”的新网站规则允许您为特定的 URL 模式(例如:/folder/myapp.nsf/myagent?*)指定使用 BASIC身份验证,即使整个服务器配置为基于会话的身份验证。
这最初是为 RSS 阅读器(无法处理会话)引入的。
更多信息在这里: http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp?topic=/com.ibm.help.domino.admin.doc/DOC/H_OVERRIDING_SESSION_AUTHENTICATION_8847_STEPS.html
【讨论】:
【参考方案2】:虽然允许这样做非常不安全,但可以在服务器上使用网站文档。
为您的数据库创建一个具有基本身份验证的网站文档(它将需要它自己的域名),然后其他人可以通过使用会话身份验证的默认网站文档访问服务器。
【讨论】:
【参考方案3】:我建议将 Anonymous 添加到数据库的 ACL 中,并勾选 No access 并且只勾选 Read public documents。然后,您可以通过在代理属性中选中允许公共访问用户查看和运行此代理来授予对代理的访问权限。
我不知道是否可以将Authorization
标头放入代理以检查身份验证。如果只有两方通信,我会计算消息的哈希值、时间戳和共享密钥,并使用它来检查访问。
编辑
您将无法手动解析 Authorization
标头。如果您的请求包含授权标头,Domino(至少 7.0.3)会尝试进行会话身份验证,而不管您请求的对象上的访问设置如何。
【讨论】:
Anders 是否在任何地方记录了“授权”标头?谷歌并没有为 Domino 带来太多。 哦!我认为这是 Domino 的一些专长,即使在服务器上未启用,它也可以帮助我强制执行 Basic Auth。谢谢!【参考方案4】:在这里,将该 URL 放在您的收藏夹工具栏中: http://www-01.ibm.com/support/knowledgecenter/SSKTMJ_8.5.3/welcome_Domino_8_5_3.html
您还知道您的 Notes 客户端和 Domino 服务器都带有包含非常充足文档的帮助数据库吗?试试 [帮助] 菜单供初学者使用。
然后,所述帮助数据库通常位于名为“帮助”文件夹的aptlty中。打开它们。
【讨论】:
以上是关于如何在 Lotus Domino 中为不同的数据库设置不同的 Web 身份验证模式的主要内容,如果未能解决你的问题,请参考以下文章