Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PeopleSoft XML Publisher-查询安全_Xml_Security_Peoplesoft_Publisher - Fatal编程技术网

PeopleSoft XML Publisher-查询安全

PeopleSoft XML Publisher-查询安全,xml,security,peoplesoft,publisher,Xml,Security,Peoplesoft,Publisher,我们有一个使用查询(内置查询管理器)作为数据源的XML发布者模板。查询使用包含机密数据的自定义视图。管理人员将使用该报告查看其直接下属的信息-这是通过在页面上设置参数来实现的。由于我们必须使记录可用于查询,因此任何具有编写查询权限的经理也可以查看该记录,从而查看除向其报告的员工之外的其他员工的数据。查询也必须是公共的,因此任何有权运行查询的人都可以使用它。我们希望能够: 仅通过页面使查询可用(我想我已经得到了这个-页面将传递一个附加参数,该参数将与查询的WHERE子句中的参数进行比较) 对查询/

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

  • 仅通过页面使查询可用(我想我已经得到了这个-页面将传递一个附加参数,该参数将与查询的WHERE子句中的参数进行比较)

  • 对查询/报告以外的任何人隐藏自定义记录

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


    谢谢

    我没有太多使用XML Publisher,但我不得不做类似的事情(除去保密要求)

    是否所有在经理手下工作的人员都是在同一部门ID下设置的?PSOPRDEFN表存储映射到EmplID的OPRIDs/用户id,您可以将其链接到JOB表以获取EmplID的DeptID


    因此,在查询中设置一个条件,将其限制为当前用户的部门ID。我在Oracle 10g中找到了如何实现这一点的语法,但在我尝试它时,它似乎对11g不起作用。http://www.techonthenet.com/oracle/functions/sys_context.php

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