2016-08-23 129 views
1

我一直在使用Java API制作一个在Lotus Notes上创建虚拟文档的工具。在多个用户的Lotus Notes 9或8.5上创建文档

到目前为止,我已经成功地使用NotesFactory创建会话方法

NotesFactory.createSession(serverUrl, username, password); 

创建的文件,并创建以后使用数据库类createDocument()方法的文档。

但是,无论我在创建会话时放置的用户如何,创建的文档始终具有“管理员”作为文档创建者。

有没有什么方法可以覆盖这种行为?

编辑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(); 

我创建了一些用户的密码(即用户1,用户2),我能得到一个具有这些凭据的会话,但保存文档时。发起人被设置为管理员,即使是强硬的管理员凭据没有在代码上,代码在外部计算机上执行。

+0

如果您想获得有意义的答案,则应提供更多代码,例如用于连接到Notes的代码。 –

+0

DIIOP?或者在代理中,从Notes客户端运行?你是管理员?这可以解释一些事情...... –

回答

0

那么,这意味着你的代码是以某人的名字“Administrator”身份运行的。那可能是你,或者是在允许在服务器上运行之前重新签署代码的人。与该人取得联系。

现在,你想要做什么?假扮别人?在Domino上?没门。

编写任何用户都可以运行的代码?有很多方法。

生成可供所有用户或其中一定子集读取或修改的文档?有plenty of ways。查找访问控制列表,查看角色的概念,以及特殊类型的字段Author和Reader。