java lotus 表格_从Java中提取Lotus Notes Document的完整ACL

本文档讨论了如何在Java中获取特定 LotusNotes 文档的完整用户访问列表。由于 Lotus Domino 的安全系统设计,这个过程比较复杂,需要遍历文档的读者和作者字段,检查角色,并在 Domino 目录中查找个人和组成员,甚至处理可能的扩展组和多个目录。解决方案涉及到使用Document.getItems(),检查Item的类型,获取并解析值,以及处理可能的角色和用户条目。
摘要由CSDN通过智能技术生成

我正在尝试找到一种方法来保存特定Lotus notes文档的完整用户列表访问权限.

我知道我可以从catalog.nsf获取数据库级ACL,但不能从文档级访问.此外,文档的作者字段 – 我相信 – 不会列出只读访问用户.

有谁知道如何获取特定文档的每个用户的完整ACL?

任何帮助表示赞赏,谢谢!

编辑:拼写.

解决方法:

西蒙是对的.这是非平凡的.虽然我会跳过他关于阅读表格的建议,但它仍然是非平凡的.即使根据您的问题仅检查单个文档,这也是非常重要的.我知道审计人员有时会想要这种类型的信息,但是Domino的安全系统并没有考虑到这一点,并且没有内置的API来获取信息.

在Java中,您需要使用Document.getItems()方法来检索所有Items的向量.然后你必须浏览项目.您需要检查Item.getType()以确定它是否是Item.READERS或Item.AUTHORS.如果是,则需要执行Item.getValues()来检索值的向量,并且必须循环遍历向量检查以查看每个值是否为角色.如果它是一个角色,则必须使用Database.getACL()并遍历ACLEntries以确定哪些具有该角色以及它们是Person条目还是Group条目.如果它们是组条目,则必须在Domino目录中查找组成员 – 这可能需要扩展嵌套组.对于Item中不是角色的任何值,您可以检查Domino目录中的值以查看它是否是有效的Person或Group – 并再次展开该组,直到最终到达People.对于Domino目录中的查找,您必须担心可能配置目录服务的事实,在这种情况下可以检查多个Domino目录数据库,但如果您可以使用Notes / Domino 8,这会更容易一些,因为有一个为您处理的目录类.

标签:lotus-domino,acl,java,document,lotus

来源: https://codeday.me/bug/20190723/1511638.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值