1

我在一个特定的数据库中有一个公共文档,它是这样创建的:

<xp:dominoDocument var="newDoc" formName="frmMyForm" 
    databaseName="#{javascript:applicationScope.aspMyDBPath}">
</xp:dominoDocument>

该数据库的 ACL 设置为匿名作为读者,具有对公共文档的写访问权限。我无法保存此文档,因为 Xpages 以 Web 用户身份运行。如果我作为代理签名者运行并且我使用 sessionAsSigner 初始化了数据库,我可以保存它。如何使用 dominoDocument 数据源执行此操作?有任何想法吗?

任何帮助,将不胜感激。我不想仅仅为了解决这个问题而授予对该数据库的编辑级别访问权限。

4

2 回答 2

4

您可以让无法访问数据库的用户通过这种方式创建公共文档:

  1. 使用$PublicAccess字段(文本,值“1”)将表单添加到数据库
  2. 启用表单的属性“可用于公共访问”
  3. 将属性“computewithform=both”添加到您的数据源
  4. 将 Xpage 的安全设置更改为“允许公共访问”
  5. 更改数据库的 ACL 并允许创建和读取公共文档

这也应该适用于读者。

希望这可以帮助

斯文

于 2012-04-25T03:54:24.653 回答
1

It should be possible to use a dataContext for this. In the properties of the XPage setup a new DataContext and set it to the correct DB/Doc but use sessionAsSigner to return the database.

You won't have the easy access to the fields on the form for any data controls, you'd need to manually enter in the EL for each field.

于 2012-04-25T15:42:26.637 回答