Sql 如何过滤Apex网格中的数据以显示特定用户组的特定内容?
我有一个管理员组和一个用户组。我的数据看起来像这样:Sql 如何过滤Apex网格中的数据以显示特定用户组的特定内容?,sql,database,oracle,security,oracle-apex,Sql,Database,Oracle,Security,Oracle Apex,我有一个管理员组和一个用户组。我的数据看起来像这样: ID ---------- NAME --------- SECTOR 0001 John A 0002 John H 0024 John A 0011 John H 0045 John A 管理员组应该只能看到A,而用户组应该只能看到H。 如何在Ape
ID ---------- NAME --------- SECTOR
0001 John A
0002 John H
0024 John A
0011 John H
0045 John A
管理员组应该只能看到A,而用户组应该只能看到H。
如何在Apex中自定义gridview以根据授权/组进行过滤?由于您使用的是Apex内置组,因此这里有一个功能可以帮助您。它返回用户所属组的逗号分隔列表。所以你可以这样使用它:
select id, name, sector
from employees
where ((','||apex_util.get_groups_user_belongs_to(:app_user)||',' like '%,ADMIN,%'
and sector = 'A')
or (','||apex_util.get_groups_user_belongs_to(:app_user)||',' like '%,USER,%'
and sector = 'H'))
因为您使用的是APEX内置组,所以这里有一个函数可以帮助您。它返回用户所属组的逗号分隔列表。所以你可以这样使用它:
select id, name, sector
from employees
where ((','||apex_util.get_groups_user_belongs_to(:app_user)||',' like '%,ADMIN,%'
and sector = 'A')
or (','||apex_util.get_groups_user_belongs_to(:app_user)||',' like '%,USER,%'
and sector = 'H'))
这些是内置的APEX组还是您自己设计的?它们只是APEX中的组。在管理->用户和组下。我将它们用于授权方案。这些是内置的APEX组还是您自己设计的?它们只是APEX中的组。在管理->用户和组下。我将它们用于授权方案。是否有方法执行apex_util.get_groups。。。出于测试目的手动执行?在Apex Builder的SQL命令窗口中,您可以运行:
选择Apex\u util.get\u groups\u user\u所属('JOHN')From dual
是否有方法执行Apex\u util.get\u groups。。。出于测试目的手动执行?在Apex Builder的SQL命令窗口中,您可以运行:选择Apex\u util。从dual获取用户所属的组('JOHN')