【问题标题】:Authors fields in domino DDS REST apidomino DDS REST api 中的作者字段
【发布时间】:2016-08-21 03:55:04
【问题描述】:
我正在构建一个带有 Domino 后端的 Javascript Web 应用程序,使用 Domino DDS REST api 对数据库执行 POST、PUT 和 GET 操作。我想使用文档中的作者和读者字段来控制哪些用户可以查看哪些文档,并让在 ACL 中具有作者访问权限的用户能够编辑他们创建的文档。在对新文档进行 POST(由新 Backbone 模型的 save() 方法实现)时,是否可以将一个或多个字段指定为读者或作者?
对现有文档执行 GET 会返回一个 JSON 对象,该对象具有名为“@authors”的属性,其中包含“作者”字段中的名称和角色。这个属性是读/写的吗?
我可以在进行 POST 之前使用所需的值填充 @authors 以使这些值控制作者访问吗?
我的同事说 Domino REST api 没有提供设置 Authors 和 Readers 字段,并且这个功能只能通过 Java servlet 完成。是这样吗?
【问题讨论】:
标签:
api
rest
lotus-domino
author
reader
【解决方案1】:
我不熟悉 Domino DDS REST API,但据我收集的信息,令人怀疑的是,在发布文档时,您可以选择字段的类型。我怀疑它们最终都会变成文本。
您可以做的是将表单的操作链接到 Domino 代理,该代理使用后端 Java or LotusScript API,将能够精确控制文档的最终形状,从而让您充分利用强大的Domino 的安全模型。
不过,请记住,在某些时候,您的用户将不得不针对 Domino 目录进行身份验证。根据您的用户最初登录的位置,您可能需要与您的 Domino 管理员联系,以找出链接到您的 other 目录的 Single Sing-On 方案。
或者,您可以利用 Domino 也是 Web 服务器和应用程序服务器这一事实:您可以在其中构建 HTML 表单,从 Domino form(简单)或 xPage(稍微复杂一点)开始)。
你可能想have a look here。
有些人会说您甚至可以在 Domino 中构建整个应用程序,因为将其仅用作后端数据存储库类似于使用劳斯莱斯来运送土豆,但我想您和您的组织拥有良好的这样做的理由。
最后你也可以完全放弃 Domino 并使用另一个像 MongoDB 这样的 nosql 数据库,但这只会取代你的访问控制问题。
【解决方案2】:
您可以将数据发回 Domino 并指定要使用的表单。如果您使用 'computewithform=true' 参数并且表单设计包含您需要的作者/读者字段,这将正确且自动地设置字段标志。