IBM Lotus java XPage休息服务 - 是否需要为每个用户签名?

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

我基于这个解决方案创建了一个Java ExtLib XPage自定义REST服务(CustomServiceBean)数据库:https://setza-projects.atlassian.net/wiki/spaces/RS/pages/363593730/IBM+Domino

我修改它虽然使用NotesCalendar类来创建,更新和删除事件和资源预留(所以事实上所有事情都由日历处理,我只使用原始文档来读取names.nsf中的$ Rooms和预订中的$ Reservations数据库)。到目前为止一切正常,它使用当前会话打开日历。我对权限有一些担忧。

我想要(和需要):

  • 能够创建日历事件和预订作为SPECIFIC用户,我不希望只有一个“主”用户将创建一切。我希望每个IBM Lotus用户都能够使用他们的凭据登录并创建或更新他们的日历事件。

这个带有XPage的数据库将部署在我们客户端的服务器上,因此我不希望为每个用户提供一些特殊的配置,以便能够访问我的REST服务。我设置了一个新的Lotus Server本地安装,并使用我的XPage数据库作为模板创建了一个新的应用程序,我无法使用管理员帐户或其他帐户访问API:

HTTP JVM:CLFAD0229E:服务请求的安全异常:/db.nsf/services.xsp/api - HTTP代码:403。有关更多详细信息,请参阅error-log-0.xml

只要我将管理员帐户添加到服务器配置 - >安全性 - >签名或运行不受限制的方法和操作,它就会重新开始工作。不仅适用于管理员帐户,还适用于刚使用互联网密码创建且未分配任何特定角色或权限的其他帐户。我甚至没有签署数据库。

所以我的问题是,这足以让它在客户的生产服务器上运行吗?这对我来说没什么意义,但它在我的本地服务器上工作,所以我不确定,我是IBM Lotus的新手,我只是在做一个集成REST服务。

如果没有,我怎么能这样做,所以我真的不需要将最终客户端(Lotus服务器所有者)放入配置每个用户的麻烦中,同时仍然能够像任何Lotus用户一样访问API(提供用户名)和密码)?我可以作为每个独立用户登录,或者使用“主”特权帐户进行一些模拟(在他人的日历中创建条目作为他),虽然我认为在Java中无法做到这一点,因为.getCalendar是一个Session类的方法,我尝试使用createSession(),但我无法做到。

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

每个笔记应用程序都需要由具有客户环境已知ID的管理员签名。用于对db进行签名的Id必须具有相应的权限,方法是通过服务器文档中的安全性选项卡。如果应用未正确签名,则该应用将无法运行。应用程序签名后,它将在具有用户权限的授权用户会话中运行。

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