tutorial ejemplos application database oracle login oracle11g oracle-apex

database - ejemplos - ápex cómo iniciar sesión en otra aplicación desde el enlace en una aplicación?



oracle apex tutorial (3)

Algunos comentarios sobre la seguridad de autenticación del espacio de trabajo predeterminado de APEX

También puede ser útil ampliar una explicación de por qué funciona la solución publicada por @TonyAndrews .

Para cualquier aplicación Apex dentro del mismo espacio de trabajo, si utilizan el método predeterminado de "Autenticación de aplicación APEX", consultarán la misma lista de usuarios de autenticación ... por lo que USER1 y su contraseña son un inicio de sesión válido para cualquiera de las aplicaciones "vecinas". ..

Esto puede ser una preocupación si aloja diferentes clientes o usuarios que no deberían mezclarse con las otras aplicaciones. También puede definir GROUPS usuarios en el mismo lugar donde configura cada usuario del espacio de trabajo. Cada aplicación puede tener su propio filtro de seguridad que permite el acceso por membresía tanto a la autenticación de usuario / contraseña como a la membresía en el grupo de acceso apropiado.

Compartir espacios de trabajo también puede ser un problema debido a la restricción de nombre de usuario única de un único espacio de trabajo. Puedes evitar eso al:

  • Definir diferentes espacios de nombre para cada aplicación:

    1. Las direcciones de correo electrónico son buenas: "[email protected]"
    2. Un prefijo de id de aplicación como SHOP_EDNA, SHOP_GARRETT, TC_KAREN, TC_MARLOWE, MY_BORIS, etc.
    3. Diferentes estilos de nombre: solo nombre, nombre + última inicial, etc.
  • Para mantener las cosas simples, siempre puedes girar un espacio de trabajo nuevo: sin embargo, una advertencia es que los nombres de usuario comunes como `ADMIN` NO son los mismos entre espacios de trabajo separados. Sin embargo, no debería haber mucha preocupación porque las aplicaciones o los usuarios del espacio de trabajo pueden tener los mismos o diferentes privilegios de acceso al esquema en la base de datos.

Una palabra de advertencia para los administradores y desarrolladores :

Cuando entre en funcionamiento con una aplicación o varias aplicaciones en un sistema orientado al usuario, tenga en cuenta el destino de implementación (es decir, el área de trabajo) y qué más está compartiendo ese espacio de trabajo. Hay algunas situaciones reales donde las aplicaciones no están destinadas a ser compartidas o a las que acceden otros usuarios "internos". Asegúrese de leer y comprender las restricciones de seguridad y los métodos de uso de la seguridad de Default Apex Authentication para que sea más que suerte que proteja sus propias aplicaciones implementadas en producción / en vivo.

Tengo dos aplicaciones en mi espacio de trabajo, APP 1 y APP 2.

En mi caso, el usuario iniciará sesión en la APLICACIÓN 1. A partir de ahí, coloco un menú (o un enlace) en la APLICACIÓN 2. Sin embargo, la APLICACIÓN 2 requiere autenticación. Entonces me llevará a una página de inicio de sesión. Me gustaría eliminar eso y obtener las credenciales del usuario actual en la APLICACIÓN 1 e iniciar sesión en la APLICACIÓN 2.

Estoy buscando un método sencillo y directo (pero necesito considerar la seguridad) para iniciar sesión en la APLICACIÓN 2.

lo que podría pensar es apex_collection ..i podría almacenar credenciales n usarlo para crear un proceso de inicio de sesión para la apex_collection 2. however apex_collection está basado en sesiones. A pesar de que he configurado la sesión para la APLICACIÓN 2, todavía no leerá los valores de mi apex_collection .

¿Alguien tiene una sugerencia o una solución?


Tengo el requisito similar, el enlace de una página de la aplicación a otra. Intentó la solución mencionada anteriormente, pero aún así solicitó iniciar sesión en la segunda aplicación. My Apex ver es 5.0.3 y lo intento en el mismo espacio de trabajo.

  1. Creó nuevos esquemas de autenticación para cada aplicación con el mismo nombre de cookie y los configuró como autenticación actual. El tipo de esquema son cuentas Express de aplicación.
  2. Estableciendo el enlace como se muestra a continuación desde la primera página de la aplicación hasta la segunda. href = "http: // servername: port / apex / f? p = 224: 2: & APP_SESSION" ¿Alguien podría proporcionar una solución, por favor?

Todo lo que necesita hacer es usar el mismo esquema de autenticación en ambas aplicaciones y establecer el atributo de nombre de la cookie con el mismo valor en ambos esquemas de autenticación como este:

APEX utilizará la misma sesión en las dos aplicaciones y el usuario no tendrá que volver a iniciar sesión cuando naveguen de una a otra, siempre que, por supuesto, pase la SESSION_ID en la URL.