有没有办法只在特定用户的视图中设置文档?我有一个namesPicker,它接受来自names.nsf数据库的所有用户,我想允许文档的创建者对文档进行保护。文档的创建者将选择names.nsf数据库中的哪些用户可以在视图中查看文档,然后将其打开。有没有办法做到这一点?
我在想,使用namesPicker,我只得到用户名的字符串值,然后如何为那些特定用户提供受保护的文档呢?
我已经创建了该文档,唯一缺少的是这个保护问题,我认为这不容易实现。
答案 0 :(得分:4)
使用setReaders(true)
作为文档项目
var doc = document1.getDocument(true);
var item:NotesItem = doc.replaceItemValue("Readers", namesPickerValue);
item.setReaders(true);
这会为您的商品提供“读者”属性。只允许此字段中列出的人员或组阅读该文档。
namesPickerValue
可以是String或字符串数组或Vector或List。确保名称在规范上类似于“ CN = Knut Herrmann / O = Leonso ”或者像“ Knut Herrmann ”这样的常用名称(不推荐)。格式“ Knut Herrmann / Leonso ”不起作用。
下面是一个示例代码,用于将字段“inputText1”中列出的名称转换为规范格式,并将读者项目作为reader字段写入:
var doc = document1.getDocument(true);
var value = getComponent("inputText1").getValue();
var array = [];
if (typeof value === "string") {
var name = session.createName(value);
array.push(name.getCanonical());
name.recycle();
} else {
var it:java.util.Iterator = value.iterator();
while(it.hasNext()) {
var name = session.createName(it.next());
array.push(name.getCanonical());
name.recycle();
}
}
var item:NotesItem = doc.replaceItemValue("Readers", array);
item.setReaders(true);