Seleccionar página

APEX_ACL

apex_acl

Escrito por: Eddie Molina

Oracle ACE Pro. Oracle APEX Cloud Developer Certified Professional. Presidente de ORAUGCRC (Grupo de Usuarios Oracle de Costa Rica). Miembro de líderes de LAOUC. Conferencista, consultor, desarrollador y capacitador en tecnologías Oracle, especialmente Oracle Application Express con más de 30 años de experiencia.

07/04/2022

ACL

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,
p_user_name es el nombre del usuario y,
p_role_id es el identificador del rol a asignar.

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,
p_user_name es el nombre del usuario y,
p_role_static es el nombre del rol a asignar.
Por ejemplo:

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,
p_user_name es el nombre del usuario. Por ejemplo:

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,
p_user_name es el nombre de usuario, y
p_role_static es el nombre del rol. Por ejemplo:

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,
p_user_name es el nombre de usuario,
p_role_static_id es el nombre del rol que se va a verificar y,
p_role_ids es la lista de identificadores de nuevos roles asignados al usuario.

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,
p_user_name es el nombre del usuario y,
p_role_id es el número de identificador del rol a remover.

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,
p_user_name es el nombre del usuario y,
p_role_static_id es el nombre del rol a remover del usuario.

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,
p_user_name es el nombre del usuario y,
p_role_ids es la matriz de roles que reemplazará la existente.

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,
p_user_name es el nombre del usuario y,
p_role_static_ids es la lista de nombres de los nuevos roles a asignar al usuario.

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,
p_user_name es el nombre del usuario.

Por ejemplo:

También te puede gustar…

Share This