首页 文章

Oracle Apex - 管理和用户

提问于
浏览
0

我正在创建一个Oracle Apex应用程序 .

我的问题:

申请有两面性;管理和用户 . 管理的目的是将用户分配给组 .

用户应该只能访问信息 - 他们已分配的组 .

例如; A.先生被分配到A组.B先生被分配到B组.C先生被分配到A,B和C组 .

只允许用户访问分配给他们的区域而不是管理控制 . 仅查看权限 .

这可能吗?我发现Oracle Apex很难让我的头脑发达!

1 回答

  • 0

    您有许多要求,每个要求都可以在Apex中构建,但使用不同的功能:

    • 管理员可以将用户分配给组 .

    • 只有管理员才能访问管理控制 .

    • 用户可以查看权限 .

    • 用户只能看到其组的信息 .

    我会用Apex Authorisation Schemes 来处理#1,#2和#3 . 例如,创建名为"Administrator"的授权方案,该方案检查当前用户是否为管理员,然后将此方案应用于只应由管理员访问的任何页面,区域,按钮,项目等 .

    对于#4,我可以想到一些解决方案:

    • Predicates - 确保应用程序中的每个查询检查当前用户是否可以根据其组查看数据 .

    • Views - 将安全谓词封装在每个表的视图中,这样您就不必在整个应用程序中重复此代码 .

    • Oracle VPD或行级安全性(需要Enterprise许可证) - 这会隐藏SQL级别背后的安全性谓词 .

    我已经将上面所有3个选项用于不同的项目;第三个是一个相当大的应用程序,具有相当复杂的权限检查规则 . RLS使这个项目更简单,更容易构建和验证;但是在某些情况下,RLS可能有点过分 .

相关问题