我需要构建一个XPages来获取公共和私有的用户日历条目。我可以通过在SSJS中使用sessionAsSignerWithFullAccess来实现这种增强。
然而,在Notes/Domino9中,我的代码在XPiNC中不工作,sessionAsSignerWithFullAccess似乎不像我预期的那样工作,只访问公共文档。
有没有办法解决这个问题?
顺便说一句,我还试图在beforePageLoad中调用Lotusscript代理,它代表管理员和web访问用户,但没有成功。Lotusscript还只访问公共文档。
任何建议都将不胜感激!提前谢谢你。
发布于 2014-08-24 17:23:55
我认为sessionAsSigner会话在使用XPiNC时以当前用户的身份运行,而不是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。
https://stackoverflow.com/questions/25474113
复制相似问题