Xpages sessionAsSigner和domino数据源

Xpages sessionAsSigner和domino数据源,xpages,Xpages,我在特定数据库中有一个公共文档,它是这样创建的: <xp:dominoDocument var="newDoc" formName="frmMyForm" databaseName="#{javascript:applicationScope.aspMyDBPath}"> </xp:dominoDocument> 该数据库的ACL被设置为匿名读卡器,具有对公共文档的写访问权限。我无法保存此文档,因为Xpages正在以web用户身份运行。如果我以代理签名者的

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

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

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


任何帮助都将不胜感激。我不想仅仅为了回避这个问题而授予编辑级访问此数据库的权限。

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

  • 使用$PublicAccess字段(文本,值“1”)向数据库添加表单
  • 启用表单的“可供公众访问”属性
  • 将属性“computewithform=both”添加到数据源中
  • 将Xpage的安全设置更改为“允许公共访问”
  • 更改DB的ACL并允许创建和读取公共文档
  • 这对读者也应该有用

    希望这有帮助


    Sven

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

  • 使用$PublicAccess字段(文本,值“1”)向数据库添加表单
  • 启用表单的“可供公众访问”属性
  • 将属性“computewithform=both”添加到数据源中
  • 将Xpage的安全设置更改为“允许公共访问”
  • 更改DB的ACL并允许创建和读取公共文档
  • 这对读者也应该有用

    希望这有帮助


    Sven

    应该可以为此使用dataContext。在XPage设置的属性中,创建一个新的DataContext并将其设置为正确的DB/Doc,但使用sessionAsSigner返回数据库


    对于任何数据控件,您都无法轻松访问表单上的字段,您需要手动输入每个字段的EL。

    应该可以使用dataContext进行此操作。在XPage设置的属性中,创建一个新的DataContext并将其设置为正确的DB/Doc,但使用sessionAsSigner返回数据库


    对于任何数据控件,您都无法轻松访问表单上的字段,您需要手动输入每个字段的EL。

    我尝试了dataContext,但我在页面加载后设置了一些值,如果使用dataContext,则会中断。在这个场合,斯文的建议起了作用。谢谢Declan,非常感谢。我尝试了dataContext,但我在页面加载后设置了一些值,如果我使用dataContext,就会中断。在这个场合,斯文的建议起了作用。非常感谢Declan,非常感谢。它可以工作-谢谢Sven-我必须创建一个$PublicAccess字段才能工作。出于兴趣,如果勾选了“可供公众访问”,为什么需要$publicaccess?阅读文档需要$publicaccess字段。设计元素甚至是文档:如果公共用户应该使用它们,它们也必须是可读的。通过激活“可供公共访问”,设计元素将从设计器获得$PublicAccess字段。这是有意义的,因此复选框“可供公共访问”适用于设计元素,字段$PublicAccess适用于文档。非常感谢Sven。它可以工作-谢谢Sven-我必须创建一个由$PublicAccess组成的计算字段才能工作。出于兴趣,如果勾选了“可供公众访问”,为什么需要$publicaccess?阅读文档需要$publicaccess字段。设计元素甚至是文档:如果公共用户应该使用它们,它们也必须是可读的。通过激活“可供公共访问”,设计元素将从设计器获得$PublicAccess字段。这是有意义的,因此复选框“可供公共访问”适用于设计元素,字段$PublicAccess适用于文档。非常感谢斯文。