Saltar al contenido

¿Autorización y roles de usuario en Oracle Apex?

Solución:

Aunque APEX tiene un concepto de administración de usuarios incorporado llamado “Grupos”, debo confesar que nunca lo he usado, y una lectura rápida de la documentación no me deja claro cómo los usa para controlar el acceso (pero vea la respuesta de Tom aquí para eso).

Probablemente necesitará crear tablas de usuarios / roles dentro de su base de datos y usarlas junto con los esquemas de autorización APEX para controlar el acceso a las páginas. Se podría crear un único esquema de autorización del tipo “Función PL / SQL que devuelve booleano” con el cuerpo de la función:

return my_auth_pkg.is_authorized (p_user    => :app_user,
                                  p_app_id  => :app_id
                                  p_page_id => :app_page_id);

Luego, implementaría el paquete para buscar los privilegios del usuario y decidir si devolver VERDADERO o FALSO para la aplicación y la identificación de la página.
ingrese la descripción de la imagen aquí

Alternativamente, puede realizar SQL para verificar el acceso directamente en el Esquema de autorización:
ingrese la descripción de la imagen aquí

(NB “user_roles” y “role_pages” son nombres que inventé para representar tu mesas)

Solo deseo ampliar la respuesta de Tony, que en sí misma es correcta. Solo quiero mostrarte otra forma, que creo que sería más fácil para un principiante total y omite la creación de tablas.

Si su aplicación utiliza Apex como esquema de autenticación, sus usuarios son administrados a través de la administración del propio espacio de trabajo. Puede crear, editar y eliminar usuarios, pero también puede definir grupos y vincular usuarios a grupos. Es posible crear varios tipos de usuarios de “usuario final” y definir un par de grupos, como “Ejecutivos”.

Usuarios y grupos de Apex
Creación de un grupo
Cuando haya creado su grupo, vaya al usuario al que desea asignar este grupo y agregue el grupo a los grupos de ese usuario.

Agregar un grupo a un usuario

Una vez que haya configurado eso, aún necesita los esquemas de autorización. El hecho es que necesita algunos conocimientos de pl / sql aquí, pero es posible mantener la codificación al mínimo, gracias a un práctico api-work.
Definición de una autorización basada en grupos de vértice
El current_user_in_group hace lo que dice: comprueba si el usuario actual tiene asignado dicho grupo. Con un poco de expansión usando algunas estructuras IF simples, ¡puede aumentarlo un poco!

No es que recomiende totalmente este método, lo encuentro un poco tedioso y necesitas que alguien entre en APEX para mantener realmente a los usuarios y sus grupos, pero bien podría ser que esto sea aceptable en tu entorno. Sin embargo, podrías usarlo para empezar. Puede cambiar muy fácilmente los esquemas de autenticación y, al modificar sus esquemas de autorización para que cumplan con el nuevo esquema de autenticación, puede ajustarlo fácil y rápidamente después. Depende de sus prioridades y objetivos, por supuesto.

¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 4)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *