【问题标题】:setCanDeleteDocuments() Lotus Notes ACLsetCanDeleteDocuments() Lotus Notes ACL
【发布时间】:2016-04-25 19:29:48
【问题描述】:

我正在尝试删除文档,条件是……

用户在组中并且具有删除权限并且组中的每个用户都可以删除文档。

但问题是,如果我指定的名称也在 ACL 中明确列出并且没有删除权限。那么它不会检查足够公平的组权限。

为此,我试图通过下面给出的代码为组中的那些用户授予删除权限。

var acl:NotesACL=database.getACL();
var entry:NotesACLEntry=acl.getFirstEntry();
if(entry!=null)
{
var user:NotesACLEntry=acl.getEntry(@UserName());
if(user.isCanDeleteDocuments()==false)
{
user.setCanDeleteDocuments(true);
acl.save();
}
}

它显示错误的地方, 调用方法 NotesACL.save() null 发生异常。

即使是显式添加的用户,ACL 中的用户 type=person 和 Access=Manager。

还有其他方法吗?

任何帮助将不胜感激。 提前致谢。

【问题讨论】:

    标签: xpages lotus-notes acl


    【解决方案1】:

    使用database 作为起点意味着您以用户身份获取数据库。除非用户已经拥有对数据库的管理员访问权限,否则这将失败,因为用户无权更新 ACL。

    您可以使用sessionAsSigner,但请记住您不能使用getCurrentDatabase() 方法。相反,您必须使用getDatabase(server,filePath) 方法来获取具有签名者权限的数据库。显然,签名者也需要修改 ACL 的权限。

    【讨论】:

      猜你喜欢
      • 2012-09-25
      • 2012-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多