我正在尝试找到一种方法来保存特定 Lotus Notes 文档的完整用户列表访问权限。
我知道我可以从catalog.nsf 获取数据库级ACL,但不能获取文档级访问权限。此外,我相信文档的“作者”字段不会列出只读访问用户。
有谁知道如何获取特定文档的每个用户的完整 ACL?
任何帮助表示赞赏,谢谢!
编辑:拼写。
西蒙是对的。这并不平凡。尽管我会跳过他阅读表格的建议,但这仍然很重要。即使根据您的问题仅检查单个文档,这也不是微不足道的。我知道审计员有时确实想要此类信息,但 Domino 的安全系统在设计时并未考虑到这一点,并且没有内置 API 来获取该信息。
在Java中,您需要使用Document.getItems()
方法来检索所有项目的向量。然后你必须查看项目。你需要检查Item.getType()
来确定它是否是一个Item.READERS
or Item.AUTHORS
。如果是,那么你需要做Item.getValues()
要检索值向量,您必须循环执行向量检查以查看每个值是否是一个角色。如果是角色,则必须使用Database.getACL()
并迭代ACLEntries
以确定哪些条目具有该角色以及它们是个人条目还是组条目。如果它们是组条目,您必须在 Domino 目录中查找组成员——这可能需要扩展嵌套组。对于项目中不是角色的任何值,您必须根据 Domino 目录检查该值,看看它是否是有效的个人或组,然后再次展开该组,直到最终找到“人员”。对于 Domino 目录中的查找,您必须担心可能会配置目录协助,在这种情况下,可能需要检查多个 Domino 目录数据库,但如果您可以使用 Notes/Domino 8,这会更容易一些,因为有一个Directory
为你处理这个问题的类。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)