Procedimiento ADD_USER_ROLE (Sign. 1) |
Se utiliza para asignar un rol a un usuario. Su sintaxis es:
|
APEX_ACL.ADD_USER_ROLE ( p_application_id IN NUMBER DEFAULT apex_application.g_flow_id, p_user_name IN VARCHAR2, p_role_id IN NUMBER ); |
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:
|
begin APEX_ACL.ADD_USER_ROLE ( p_application_id => 255, p_user_name => 'SCOTT', p_role_id => 2505704029884282 ); end; |
|
Procedimiento ADD_USER_ROLE (Sign. 2) |
Al igual que el procedimiento anterior, asigna un rol a un usuario, utilizando la sintaxis:
|
APEX_ACL.ADD_USER_ROLE ( p_application_id IN NUMBER DEFAULT apex_application.g_flow_id, p_user_name IN VARCHAR2, p_role_static_id IN VARCHAR2 ); |
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:
|
begin APEX_ACL.ADD_USER_ROLE ( p_application_id => 255, p_user_name => 'SCOTT', p_role_static_id => 'ADMINISTRATOR' ); end; |
|
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:
|
APEX_ACL.HAS_USER_ANY_ROLES ( p_application_id IN NUMBER DEFAULT apex_application.g_flow_id, p_user_name IN VARCHAR2 DEFAULT apex_application.g_user ) RETURN boolean; |
Donde, p_application_id es el identificador de la aplicación, p_user_name es el nombre del usuario. Por ejemplo:
|
DECLARE l_has_user_any_roles boolean := false; BEGIN l_has_user_any_roles := APEX_ACL.HAS_USER_ANY_ROLES ( p_application_id => 255, p_user_name => 'SCOTT' ); IF NOT l_has_user_any_roles THEN raise_application_error(-20001, 'Scott no tiene asignado ningún rol de aplicación' ); END IF; END; |
|
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:
|
APEX_ACL.HAS_USER_ROLE ( p_application_id IN NUMBER default apex_application.g_flow_id, p_user_name IN VARCHAR2 default apex_application.g_user, p_role_static_id IN VARCHAR2 ) return boolean; |
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:
|
declare l_is_admin boolean := false; begin l_is_admin := APEX_ACL.HAS_USER_ROLE ( p_application_id => 255, p_user_name => 'SCOTT', p_role_static_id => 'ADMINISTRATOR' ); if not l_is_admin then raise_application_error(-20001, 'Scott NO es un administrador' ); end if; end; |
|
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:
|
APEX_ACL.IS_ROLE_REMOVED_FROM_USER ( p_application_id IN NUMBER DEFAULT apex_application.g_flow_id, p_user_name IN VARCHAR2, p_role_static_id IN VARCHAR2, p_role_ids IN apex_t_number ) RETURN BOOLEAN; |
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:
|
DECLARE is_role_removed boolean := false; BEGIN is_role_removed := apex_acl.is_role_removed_from_user ( p_application_id => 255, p_user_name => 'SCOTT', p_role_static_id => 'ADMINISTRATOR', p_role_ids => apex_t_number( 2505704029884282, 345029884282 ) ); IF NOT is_role_removed THEN raise_application_error(-20001, 'ADMINISTRATOR role is not removed from SCOTT.' ); END IF; END; |
|
Procedimiento REMOVE_USER_ROLE (Sign. 1) |
Este procedimiento remueve un rol que ha sido asignado a un usuario. Su sintaxis es:
|
APEX_ACL.REMOVE_USER_ROLE ( p_application_id IN NUMBER DEFAULT apex_application.g_flow_id, p_user_name IN VARCHAR2, p_role_id IN NUMBER ); |
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:
|
begin APEX_ACL.REMOVE_USER_ROLE ( p_application_id => 255, p_user_name => 'SCOTT', p_role_id => 2505704029884282 ); end; |
|
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:
|
APEX_ACL.REMOVE_USER_ROLE ( p_application_id IN NUMBER DEFAULT apex_application.g_flow_id, p_user_name IN VARCHAR2, p_role_static_id IN VARCHAR2 ); |
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:
|
begin APEX_ACL.REMOVE_USER_ROLE ( p_application_id => 255, p_user_name => 'SCOTT', p_role_static_id => 'ADMINISTRATOR' ); end; |
|
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:
|
APEX_ACL.REPLACE_USER_ROLES ( p_application_id IN NUMBER DEFAULT apex_application.g_flow_id, p_user_name IN VARCHAR2, p_role_ids IN apex_t_number ); |
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:
|
begin APEX_ACL.REPLACE_USER_ROLES ( p_application_id => 255, p_user_name => 'SCOTT', p_role_ids => apex_t_number( 2505704029884282, 345029884282 ) ); end; |
|
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:
|
APEX_ACL.REPLACE_USER_ROLES ( p_application_id IN NUMBER default apex_application.g_flow_id, p_user_name IN VARCHAR2, p_role_static_ids IN apex_t_varchar2 ); |
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:
|
begin APEX_ACL.REPLACE_USER_ROLES ( p_application_id => 255, p_user_name => 'SCOTT', p_role_static_ids => apex_t_varchar2( 'ADMINISTRATOR', 'CONTRIBUTOR' ) ); end; |
|
Procedimiento REMOVE_ALL_USER_ROLES |
Este procedimiento remueve todos los roles que un usuario tiene asignados y utiliza la sintaxis:
|
APEX_ACL.REMOVE_ALL_USER_ROLES ( p_application_id IN NUMBER default apex_application.g_flow_id, p_user_name IN VARCHAR2 ); |
Donde, p_application_id es el identificador de la aplicación y, p_user_name es el nombre del usuario.
Por ejemplo:
|
begin APEX_ACL.REMOVE_ALL_USER_ROLES ( p_application_id => 255, p_user_name => 'SCOTT' ); end; |
|