sql - 如何根据用户权限显示不同的交互式网格查询
问题描述
我使用主从页面。我只想为管理员用户显示整个表格。对于不是管理员的用户,我想显示限制 MD 视图的 sql 查询。
我尝试在同一页面上创建另一个主详细信息,该信息仅对没有管理员角色的用户可见。并且第一个 MD 对他们不可见。(我使用了服务器端条件)是否存在其他方式来显示不同的查询,具体取决于用户角色。
我希望我清楚地解释了这个问题。提前致谢
解决方案
查看包APEX_ACL
,您可以在 where 子句中使用相关视图。
示例:管理员看到所有行,其他用户只看到 KING 的行
SELECT *
FROM emp
WHERE
-- user is admin ?
( EXISTS ( SELECT 1
FROM apex_appl_acl_user_roles
WHERE application_id = :APP_ID AND
user_name = :APP_USER AND
role_static_id = 'ADMINISTRATOR'
) ) OR
-- user is no admin
( ename = 'KING' );
推荐阅读
- kotlin - 如何在单击下拉弹出窗口外部时关闭下拉弹出窗口?
- outlook-for-mac - 某些组的日历未在 Mac 的新 Outlook 中显示
- javascript - javascript 在引号处拆分字符串 // Json.parse 给出未定义的对象
- javascript - jquery如何在单击确认按钮时删除弹出父项?
- http - 错误时的代理行为
- c++ - 非法指令:4
- c++ - vscode 扩展来格式化属性名称
- javascript - 如何在javascript中“序列化”函数?
- corda - 当事人自己的身份面临错误:没有为以下交易参与者提供流会话
- python - 在 Python 中将 .pgm 转换为 .png