使用XPages从受限数据库获取数据的最佳方法

使用XPages从受限数据库获取数据的最佳方法,xpages,Xpages,我正在处理两个包含XPages的Domino数据库: 第一个数据库是公共数据库 第二个仅限于一个小组(比如人力资源团队) 我正在公共数据库中构建一个XPage,我需要用HR数据库的数据(例如用户的HR id)填充sessionScope变量 因此,由于普通用户无法访问HR DB,因此不允许使用@Dblookup 每次开发人员修改XPages组件时,使用sessionAsSigner方法需要重新签名db的所有元素(否则sessionAsSigner元素未知) 那么,如何查询我通常无法访问的数据

我正在处理两个包含XPages的Domino数据库:

  • 第一个数据库是公共数据库
  • 第二个仅限于一个小组(比如人力资源团队)
我正在公共数据库中构建一个XPage,我需要用HR数据库的数据(例如用户的HR id)填充sessionScope变量

因此,由于普通用户无法访问HR DB,因此不允许使用@Dblookup

每次开发人员修改XPages组件时,使用sessionAsSigner方法需要重新签名db的所有元素(否则sessionAsSigner元素未知)

那么,如何查询我通常无法访问的数据库? 我是否必须呼叫具有比连接用户更高访问权限的代理? 然后,如何填充sessionScope变量


任何帮助都将非常感谢

有一些选择,但正如克努特所说,毫无疑问,最佳实践方法是使用sessionAsSigner

源代码管理可用于允许多个开发人员处理他们自己的设计实例。可用于抑制源代码管理存储库中的签名,以最小化冲突


我能想到的所有其他选项(例如,定期导出,使用runOnServer代理)都将花费更长的时间编写代码,更加复杂,并且需要作为开发人员的您管理公开数据的安全影响。

有几个选项,但正如Knut所说,毫无疑问,最佳实践方法是使用sessionAsSigner

源代码管理可用于允许多个开发人员处理他们自己的设计实例。可用于抑制源代码管理存储库中的签名,以最小化冲突


我能想到的所有其他选项(例如,定期导出,使用runOnServer代理)都将花费更长的时间编写代码,更加复杂,并且需要作为开发人员的您管理公开数据的安全影响。

sessionAsSigner是正确的使用方法。无论如何,您应该在生产中使用“官方”id(不是开发人员id)对数据库进行签名。克努特,我同意您的说法,但在开发阶段,不能像您建议的那样进行,特别是在我们是一个在db上工作的团队的情况下。这会减慢开发阶段。您不能在开发阶段让开发人员访问受限数据库吗?或者您不能用测试数据创建受限数据库的副本并对该数据库进行测试吗?Knut,thx,请再次思考我的问题。所有开发人员都可以访问开发环境中的受限数据库。pb不会在开发阶段访问数据,pb将在应用程序投入生产后为最终用户建立对受限数据库中某些数据的访问。因此,如果我们使用sessionAsSigner方法,它将起作用,但是,在开发阶段,我们必须在另一个开发人员每次修改后对应用程序重新签名。如果您只需要查找一些值,您可以创建一个具有公共访问权限的视图,并使用良好的旧“类别安全漏洞”,sessionAsSigner是正确的选择。无论如何,您应该在生产中使用“官方”id(不是开发人员id)对数据库进行签名。克努特,我同意您的说法,但在开发阶段,不能像您建议的那样进行,特别是在我们是一个在db上工作的团队的情况下。这会减慢开发阶段。您不能在开发阶段让开发人员访问受限数据库吗?或者您不能用测试数据创建受限数据库的副本并对该数据库进行测试吗?Knut,thx,请再次思考我的问题。所有开发人员都可以访问开发环境中的受限数据库。pb不会在开发阶段访问数据,pb将在应用程序投入生产后为最终用户建立对受限数据库中某些数据的访问。因此,如果我们使用sessionAsSigner方法,它将起作用,但是,在开发阶段,我们必须在另一个开发人员每次修改后对应用程序重新签名。如果您只需要查找一些值,您可以创建一个具有公共访问权限的视图,并使用良好的旧“类别安全漏洞”,我不知道这个工具。我来看看。ThxI不知道这个工具。我来看看。谢谢