我一直在使用Java API创建一个在Lotus Notes上创建虚拟文档的工具。
到目前为止,我已成功使用NotesFactory创建会话方法
创建文档NotesFactory.createSession(serverUrl, username, password);
稍后使用Database类createDocument()方法创建文档。
但是,无论我在创建会话时放置的用户如何,创建的文档始终都有“Administrator”作为文档创建者。
有没有办法覆盖这种行为?
编辑2016年8月24日:
以下是我用来创建文档的代码
Session session = NotesFactory.createSession(serverUrl, username, password);
Database db = session.getDatabase(session.getServerName(), "docLibra.nsf");
Document doc = db.createDocument();
// Set document properties
doc.replaceItemValue("Subject", "Sample Subject");
RichTextItem bodyItem = doc.createRichTextItem("Body");
bodyItem.appendText("Sample content");
doc.save();
doc.recycle();
db.recycle();
session.recycle();
我创建了几个用户(即user1,user2),我可以使用这些用户的凭据获得会话,但是当文档被保存时。创建者设置为管理员,即使管理员凭据在代码上没有任何地方也很难,并且代码在外部计算机上执行。
答案 0 :(得分:0)
嗯,这意味着您的代码是以某个人的名字"管理员"运行的。这可能是您,或者是在允许在服务器上运行之前重新签名代码的人。与那个人取得联系。
现在,你想做什么?冒充别人?在多米诺?没办法。
编写任何用户都可以运行的代码?有很多方法。
生成所有用户或其中一部分可以读取或修改的文档?有plenty of ways。查找访问控制列表,关于角色的概念,以及特殊类型的字段作者和读者。