Oracle Apex -多个应用程序的一个用户列表

mec1mxoz  于 2023-10-16  发布在  Oracle
关注(0)|答案(2)|浏览(170)

在工作区中,我有几个应用程序,它们是一个工具的模块。在这些应用程序中,我有兼容的授权方案。为了创建新用户,我使用了一个现成的APEX解决方案-访问控制。但是,为了使工具(这几个应用程序)高效地运行,我需要所有这些应用程序使用一个用户列表。在一个应用程序中创建一个用户可以转化为他在其他应用程序中的存在。
Access Ctrl
为了实现这一点,我考虑创建一个过程,将一些新记录插入APEX_APPL_ACL_USERS,其中包含用户数据和不同的应用程序ID(以及适当的更新和删除过程)。但是,我不知道这是否是一个好的解决方案。我应该如何正确地实现这一点?

6ljaweal

6ljaweal1#

请将所有用户列表沿着用户名、用户密码以及其他必需的凭据一起保存在单独的表中,并创建单独的登录包并在Apex中分配用户初始值,然后将身份验证从Apex更改为自定义身份验证。
然后,您可以使用相同的包和表为多个应用程序。

j2cgzkjk

j2cgzkjk2#

不要直接插入APEX_APPL_ACL_USERS。而是使用文档化的API。然而,我会采取不同的方法,因为以下几点。ACL用户/角色也可以通过构建器>共享组件添加/删除,因此您无法完全控制该过程。
我会这么做。创建您自己的CUSTOM_APPL_ACL_USERS表,您可以将用户/角色插入其中。然后创建一个“SYNC_USERS”过程,将表中的行与每个应用的APEX_APPL_ACL_USERS中的行进行比较,并在需要时添加/删除用户/角色。修改正在显示的屏幕以插入到自定义表中,并在每次修改后运行同步过程(或使用计划或触发器)。
--更新--
从你的问题来看,你对pl/sql还是个新手(无意冒犯!功能“应用访问控制”被编写为管理单个应用的授权。要实现你想要的并不是那么简单,因为数据需要跨多个应用程序同步。我的建议是创建自定义授权(而不是使用ACL),使用一个表为每个用户/角色组合保存一行(或者,如果您想正确地反规范化:3个表:users/roles/user_roles)。Apex是低代码的,但是对于定制的实现,需要一些pl/sql知识。创建自定义授权方案可能比同步acl数据要少得多。我不会写你的代码(我可能会,但我不会),所以我建议你自己做一些研究,找一本pl/sql的书或课程,开始工作。当你被什么东西卡住的时候贴在这里。我相信你会得到一个体面的答复。

相关问题