这似乎是一个非常基本的问题,在 Domino 上托管的正在运行的 Servlet 中,我想要访问 Domino 资源,我已经使用 IBM Notes 和 Domino 的非常精细的安全性明智地保护了这些资源。
我希望 Servlet 能够向 Domino 读取和写入数据,同时保留来自调用 Servlet(或 xAgent)的客户端的数据并防止客户端直接写入。
我很高兴能够获得代表应用程序签名者的 session 。我可以通过使用 ?open&login 调用 Servlet 并登录来获取注册用户的 session 。这不切实际。
我看过这里:How can you use SessionAsSigner in a Java Bean called from an XPage?其中 Mark Leusink ( https://stackoverflow.com/users/1177870/mark-leusink ) 暗示可以使用 ExtLib 的 getCurrentSessionAsSigner() 。我已经尝试过,使用单个用户 ID 签署了整个应用程序,但它不会返回 session 。答案似乎在于 Servlet 无法获取 FacesContext 对象。
感觉答案应该是显而易见的,但对我来说却并非如此。有什么想法吗?
最佳答案
FacesContext
是 JSF 的东西,可以从 XAgent (=XPage) 使用。
在 servlet 中,您可以执行以下操作:
Session session = NotesFactory.createSession(null, "user", "password");
服务器 ID 通常没有密码,执行此操作将使用服务器 ID:
Session session = NotesFactory.createSession();
关于session - 我希望我的 Domino Servlet 获得经过身份验证的用户 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14771700/