如何以编程方式将用户添加到Oracle APEX 4.x中的访问控制列表?

时间:2013-12-16 17:05:13

标签: oracle plsql oracle-apex

有没有办法可以以编程方式将用户添加到内置的APEX访问控制列表中?

现在我可以点击“添加用户”按钮并一次添加一个用户,但我想在这个列表中添加超过1000个用户。如何自动化从数据库表或文本文件中提取用户列表的过程?

1 个答案:

答案 0 :(得分:4)

我不得不仔细检查这个ACL页面是什么,因为我很确定我之前在Apex的管理页面中没有看过它。
ACL页面不是Apex管理菜单的页面部分,而是由用户创建的。通过向导创建新页面时,它是可选择的“页面类型”。在创建向导期间,Apex会通知开发人员它将创建什么以支持此页面:
ACL Page creation

因此,创建了2个表和3个授权方案。我只想再次指出,这些表只是在应用程序的解析模式中可用的表,并且不是顶点元数据表。因此,你可以自由地“与他们一起做你想做的事” 一旦创建了页面和必要的对象,您将不得不转到页面以找出表格的确切名称 - 但这些标准名称很可能很大。查看页面逻辑的“处理”部分,找到Fetch过程和MRU过程。检查它们会显示正确的名称 Page definition - processing - fetch processes

因此,它只是一个问题:

INSERT INTO APEX_ACCESS_CONTROL(
ADMIN_USERNAME, ADMIN_PRIVILEGES, SETUP_ID)
VALUES(
'Tom', 'ADMIN', 1
);

因此setup_id是转到APEX_ACCESS_SETUP的外键。

您可以选择通过提供带插入的sql脚本来上传数据,或者通过数据研讨会的顶点或任何其他方式将数据上传到您的数据库中。