我需要构建一个XPages来吸引用户。公共和私人的日历条目。我可以在SSJS中使用sessionAsSignerWithFullAccess来实现这一增强。
但是我的代码在Notes / Domino 9的XPiNC中不起作用。似乎sessionAsSignerWithFullAccess没有像我预期的那样工作,只能访问公共文档。
有什么方法可以解决这个问题吗?
顺便说一句,我还尝试在beforePageLoad中调用Lotusscript代理,这代表管理员和Web访问用户,但没有运气。 Lotusscript也只能访问公共文档。
非常感谢任何建议! 提前谢谢。
答案 0 :(得分:1)
我相信当使用XPiNC时,sessionAsSigner会话作为当前用户运行,而不是XPage的签名者。这是不方便的,从安全角度来看是有意义的:当Domino服务器具有自由统治以充当其喜欢的任何名称时,Notes客户端仅充当活动ID。正常的XPiNC设置从本地客户端运行所有内容,因此,从安全角度来看,它与访问非XPage元素相同。
您可以通过输出sessionAsSignerWithFullAccess.getEffectiveUserName()来仔细检查我的想法是否准确。如果我是对的,它将是当前正在运行的用户,而不是签名者。
一种解决方法是将XPiNC应用程序设置为在服务器上执行(我相信9中的新功能)。它有一些警告(https://frostillic.us/f.nsf/posts/how-i-got-xpinc-run-on-server-with-sso-working),但它从性能和可预测性的角度来看都有很多优点:因为应用程序实际上在服务器上运行的方式与在Web浏览器中基本相同,它(可能)也支持sessionAsSigner。