PeopleSoft XML出版商-查询安全性



我们有一个XML Publisher模板,它使用查询(内建的查询管理器)作为数据源。查询使用包含机密数据的自定义视图。管理人员将使用该报告查看其直接报告的信息——这是通过在页面上设置参数来实现的。由于我们必须使记录对Query可用,任何具有编写查询权限的管理人员也可以看到记录,因此也可以看到员工的数据,而不是向他们报告的员工。查询还必须是公共的,因此它也将对任何有权运行查询的人可用。我们希望能够:

  1. 使查询仅通过页面可用(我想我已经得到了这个-页面将传递一个额外的参数,将在查询的WHERE子句中进行比较)

  2. 隐藏自定义记录,除了查询/报告

我们不能使用典型的行级安全性,因为总经理应该只能看到向他们报告的人。

谢谢

要在用户尝试查询特定记录时(使用查询管理器)显示的数据上启用安全性,您可以使用查询安全性记录,在该记录中您可以验证正在尝试访问数据的用户。通常,这里使用动态视图,您可以在其中检查尝试访问数据的OPRID,并相应地提供数据。Querymanager在sql.

中自动获取查询安全性记录。

我不怎么使用XML Publisher,但是我不得不做一些类似的事情(除去机密性要求)。

是否所有在经理手下工作的人都有相同的部门ID?PSOPRDEFN表存储映射到EmplID的oprid/User id,您可以将其链接到JOB表以获取EmplID的DeptID。

因此,在查询上设置一个条件,将其限制为当前用户的Department ID。我已经找到了如何在Oracle 10g中做到这一点的语法,但当我尝试它时,它似乎并不适用于11g。http://www.techonthenet.com/oracle/functions/user.php http://www.techonthenet.com/oracle/functions/sys_context.php