El paquete APEX_ACL proporciona utilidades que puede utilizar al programar en el entorno de Oracle Application Express relacionado con los componentes compartidos de control de acceso a aplicaciones.
Puede usar el paquete APEX_ACL para agregar, eliminar o reemplazar roles de usuario. También puede aprovechar el trigger INSTEAD OF en la vista APEX_APPL_ACL_USERS para editar roles de usuario con instrucciones DML (INSERTAR, ACTUALIZAR y ELIMINAR).
Si desea usar el paquete fuera de un entorno de Oracle APEX, el security_group_id debe configurarse mediante APEX_UTIL.SET_WORKSPACE o APEX_UTIL.SET_SECURITY_GROUP_ID antes de poder utilizarlo.
Utilice las vistas APEX relacionadas para obtener más información sobre los usuarios de la aplicación y los roles. Estas vistas son: APEX_APPL_ACL_ROLES, APEX_APPL_ACL_USER_ROLES y APEX_APPL_ACL_USERS.
Los componentes de este paquete son:
Procedimiento ADD_USER_ROLE (Sign. 1) |
Se utiliza para asignar un rol a un usuario. Su sintaxis es:
Donde, p_application_id es el identificador de la aplicación a la que se asignará el rol, Por ejemplo:
|
Procedimiento ADD_USER_ROLE (Sign. 2) |
Al igual que el procedimiento anterior, asigna un rol a un usuario, utilizando la sintaxis:
Donde, p_application_id es el identificador de la aplicación a la que se asignará el rol,
|
Función HAS_USER_ANY_ROLES |
Esta función verifica si el usuario tiene asignado algún rol, en cuyo caso retorna TRUE, de lo contrario, retorna FALSE. Puede ser utilizada para determinar si un usuario puede acceder a una aplicación. Su sintaxis es:
Donde, p_application_id es el identificador de la aplicación,
|
Función HAS_USER_ROLE |
Esta función verifica si un usuario tiene asignado un rol específico, en cuyo caso retorna TRUE, de lo contrario retorna FALSE. Utiliza la sintaxis:
Donde p_application_id es el identificador de la aplicación,
|
Función IS_ROLE_REMOVED_FROM_USER |
Esta función verifica si un rol ha sido removido de un usuario. Retorna TRUE si un rol específico ha sido removido de una lista de nuevos IDs para el usuario. Su sintaxis es:
Donde, p_application_id es el identificador de la aplicación, Por ejemplo:
|
Procedimiento REMOVE_USER_ROLE (Sign. 1) |
Este procedimiento remueve un rol que ha sido asignado a un usuario. Su sintaxis es:
Donde, p_application_id es el identificador de la aplicación, Por ejemplo:
|
Procedimiento REMOVE_USER_ROLE (Sign. 2) |
Al igual que en el caso anterior, este procedimiento remueve un rol de un usuario y utiliza la sintaxis:
Donde, p_application_id es el identificador de la aplicación, Por ejemplo:
|
Procedimiento REPLACE_USER_ROLES (Sign. 1) |
Este procedimiento reemplaza cualquier lista de roles asignados a un usuario por la nueva matriz de roles, usando la sintaxis:
Donde, p_application_id es el identificador de la aplicación, Por ejemplo:
|
Procedimiento REPLACE_USER_ROLES (Sign. 2) |
Similar al procedimiento anterior, reemplaza los roles existentes de un usuario por la nueva lista de roles proporcionada, utilizando la sintaxis:
Donde, p_application_id es el identificador de la aplicación, Por ejemplo:
|
Procedimiento REMOVE_ALL_USER_ROLES |
Este procedimiento remueve todos los roles que un usuario tiene asignados y utiliza la sintaxis:
Donde, p_application_id es el identificador de la aplicación y, Por ejemplo:
|