在xpage Web应用程序上,用户只有公共文档读取权限。 我想找到一种方法让用户能够保存到表单。 我想最安全的方法是使用代理进行此操作,因为我读到了对公共文档进行写访问的问题并不安全。
我们说我有两个字段:名字和姓氏。 我是否将它们绑定到范围变量以在代理中访问它们或者有更好的方法吗?
如何通过点击按钮运行代理?正确遵循? var agent:NotesAgent = database.getAgent("(register)");
如何授予代理保存文档所需的权限? 我如何在我的代理中获取数据?例如sessionScope.firstName还是有更好的方法吗?
答案 0 :(得分:3)
最聪明的方法:将数据存储到另一个数据库中。 XPages允许您写入不同的数据库。如果该名称对其他公共用户不可见,则使用存款人作为访问级别
答案 1 :(得分:1)
不要使用代理来保存文档。请改用sessionAsSigner
。
sessionAsSigner
允许在获得XPage签名者许可的情况下运行代码,而不是当前用户访问XPage。
示例:
var db:NotesDatabase = sessionAsSigner.getCurrentDatabase();
var doc:NotesDocument = db.createDocument();
...
doc.save();