免责声明:我不是Notes管理员,我刚刚编写了应用程序:),并尝试帮助我们的客户使用它。
我们提供一个简单的数据库,其中一个代理接受并处理来自Internet的HTTP POST消息。
将安装此数据库的Domino服务器配置为用于Web访问的单点登录身份验证。
有没有办法只设置我们的数据库使用不同类型的身份验证 - 即基本身份验证,所以我们可以像这样命令将消息发送给代理:
http://username:password@my.domino.server/mydb.nsf/myagent
我还考虑了另一种方法 - 删除任何形式的auth,并在POSTed数据中传递凭据。然后,代理将注意处理或不处理数据,基于信用是否正常。但这很可能需要某种形式的“模仿” - 即。以某种方式将匿名用户映射到具有执行代理的权限的用户。所以,我对这个问题的有效答案可能是建议如何设置它。
此外 - 我们正在研究Web服务方法(在Domino 7.0+中可用),但它需要对双方进行更改 - 发件人(我们的发布者服务)和接收代理。并且很可能会回到关于如何验证发件人的原始问题。
在这方面的任何建议(甚至改变方法)都将受到高度赞赏。
干杯
答案 0 :(得分:6)
自Domino 7.0.2以来,有一种新的网站规则标题为“覆盖会话身份验证”,允许您为特定的URL模式(例如:/folder/myapp.nsf/myagent?*)指定使用BASIC auth即使整个服务器配置为基于会话的身份验证。
这最初是为RSS阅读器引入的(无法处理会话)。
答案 1 :(得分:2)
虽然允许这样做非常不安全,但可以使用服务器上的网站文档。
创建一个对您的数据库具有基本身份验证的网站文档(它将需要它自己的域名),然后其他所有人都可以通过使用会话身份验证的默认网站文档访问服务器。
答案 2 :(得分:0)
我建议将匿名添加到数据库的ACL中,并选中无权限,只检查读取公用文档。然后,您可以通过在代理属性中选中允许公共访问用户查看和运行此代理来授予对代理的访问权限。
我不知道是否可以将Authorization
标头带入代理以检查身份验证。如果只有两方通信,我会计算消息的哈希值,时间戳和共享密钥,并使用它来检查访问。
修改强>
您将无法手动解析Authorization
标头。如果您的请求包含授权标头,Domino(至少7.0.3)会尝试进行会话身份验证,而不管您请求的对象的访问设置如何。
答案 3 :(得分:-1)
在此处,将该网址放入“收藏夹”工具栏中: http://www-01.ibm.com/support/knowledgecenter/SSKTMJ_8.5.3/welcome_Domino_8_5_3.html
您是否也知道您的Notes客户端和Domino服务器附带了非常充足文档的帮助数据库?尝试启动器的[帮助]菜单。
然后,所说的帮助数据库通常位于名为“help”文件夹的aptlty中。打开它们。