IBM Domino 10 - Java XPage创建会话或比较另一个用户的凭据

问题描述 投票:0回答:1

我正在基于https://setza-projects.atlassian.net/wiki/spaces/RSD/pages/44007659/IBM+Domino的XPage Rest服务中编写Java代码,private JsonObject createIntanceAppointment(ResourceDefinition rd, Database reDatabase, Date dtStart, Date dtEnd, String subject) throws NotesException { Session session = reDatabase.getParent(); Name nnOrganizier = session.createName(session.getEffectiveUserName()); Name nnREsource = session.createName(rd.getFullName()); DateTime dt_startDateUTC = session.createDateTime(dtStart); DateTime dt_endDateUTC = session.createDateTime(dtEnd); Document doc = reDatabase.createDocument(); doc.replaceItemValue("form", "Reservation"); doc.replaceItemValue("Purpose", subject); doc.replaceItemValue("ReservedFor", nnOrganizier.getCanonical()); doc.replaceItemValue("ResourceName", nnREsource.getAbbreviated()); doc.replaceItemValue("ResNameFormat", nnREsource.getAbbreviated()); 是一个用Java编写的REST服务,用于处理资源预定数据库。但是它当前的工作方式,它只为当前会话用户创建预留:

NotesFactory.createSession("", "user", "password");

我正在与Domino进行非常类似的集成,虽然我更愿意为个人用户创建预订(他们在触摸屏上的房间预订应用程序中提供他们的用户名和密码)。我可以在我的REST客户端中作为用户进行身份验证,但如果我正确理解了RoomZ api的安装要求,那么'api管理用户'需要专门签名到数据库,因此我需要为每个用户执行此操作在Domino中可以进行预订。

我尝试使用Cannot create a session from an agent,但这不起作用,它给username错误如果我不能创建另一个会话,有什么方法我可以验证传递给有效负载中的API的password和qazxswpoi是否正确(以验证用户是否可以登录)?然后我可以为这个用户设置组织者/保留。

此外,有没有办法让这些预订也出现在组织者的笔记日历中?目前,他们已经在预订数据库中成功创建了所有内容,但组织者并不知道他们,尽管他已被分配到预订中。

xpages lotus-notes lotus-domino
1个回答
0
投票

您不需要为每个用户创建会话。重要的是nnOrganizer = session.createName(“”)应该包含用户。您可能还需要设置其他字段,如主席或预订。

如果您想在组织者日历中包含一些条目,请向他们发送适当的邀请或在其邮件文件中创建日历条目。

© www.soinside.com 2019 - 2024. All rights reserved.