setCanDeleteDocuments() Lotus Notes ACL

setCanDeleteDocuments() Lotus Notes ACL

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

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

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

为此,我正在尝试根据下面给出的代码向组中的用户授予删除权限。

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 中的用户类型=person & Access=Manager。

还有其他方法吗?

如有任何帮助,我们将不胜感激。 提前致谢。

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

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