Hibernate + Oracle

15 views
Skip to first unread message

gustavo...@gmail.com

unread,
Mar 19, 2008, 11:49:29 AM3/19/08
to JavaSOS
Estimados amigos del foro, estoy teniendo la necesidad de hacer que
mis conexiones de hibernate activen roles en la base de datos.
En nuestra empresa tenemos oracle y el esquema de seguridad que
implementamos esta armado para que los usuarios de las bd solo tengan
permiso de "connect" y que lo sistemas tengan que habilitar los roles
por medio de consultas a tablas de configuracion.
Esto funciona bien cuando un usuario tiene una conexion a la base de
datos y evita el problema que puedan tocar las tablas desde clientes
externos. Para todos los sistemas cliente servidor lo tenemos asi.
Pero ahora estamos haciendo otro tipos de sistemas, con otros
requerimientos y necesitamos que hibernate habilite los roles antes de
devolverme la conexion a la aplicacion para ejecutar los queries y asi
seguir con el mismo esquema de seguridad.

Espero que me puedan ayudar y no me den respuestas de que modifique el
esquema de seguridad porque ya me lo discutí con el DBA y no transa.

Gunther Schneider

unread,
Mar 20, 2008, 12:56:36 AM3/20/08
to jav...@googlegroups.com
Cuando abrís una session de Hibernate podés pasarle vos la conexión que ya tenés abierta. Si necesitás ejecutar código "custom", como ser el de "habilitar roles" (que no entiendo bien a qué te referís pero puede servir igual), podés vos
abrir la conexión, hacer lo que tengas que hacer, y después abrir la session de Hibernate pasándole esa conexión.
No te olvides que el responsanble de cerrar la conexión vas a ser vos ya que fuiste quién la abrió.

Saludos,
Gunther.

Javier Rapoport

unread,
Mar 20, 2008, 3:27:18 PM3/20/08
to jav...@googlegroups.com
no podes simplemente modificar la secuencia de conexion?
ejecutar esas consultas que necesitas al iniciar la aplicacion y ya?
que despues hibernate siga trabajando normalmente?

jungle

unread,
Mar 21, 2008, 11:03:20 AM3/21/08
to JavaSOS
Preguntas que se me ocurren asi al voleo: Como evitas que los roles
sigan activos cuando una aplicacion se cuelga o se olvida de
desactivarlos, o queda abierta en alguna terminal? Como evitas que el
usuario se conecte directo y haga desastres mientras tiene los roles
activados por una aplicacion?

On 20 mar, 16:27, "Javier Rapoport" <jrapop...@gmail.com> wrote:
> no podes simplemente modificar la secuencia de conexion?
> ejecutar esas consultas que necesitas al iniciar la aplicacion y ya?
> que despues hibernate siga trabajando normalmente?
>
> On Wed, Mar 19, 2008 at 11:49 AM, gustavo.val...@gmail.com <

Marcelo A. Vasquez - www.jdeveloperla.com

unread,
Mar 21, 2008, 11:16:35 PM3/21/08
to JavaSOS
Hola Gustavo.

Este problema y debate con el DBA lo tuve ya hace tiempo.

Te comparto mi enfoque:

1. Creo que el DBA no quiere trabajar y entender que existen distintas
formas de implementar un sistema de seguridad según la arquitectura de
la aplicación.

2. Tal vez puedas definir un usuario con permisos al diccionario de
datos de ORACLE para saber los ROLES del usuario que ingresaron e
intentar con la clave crear una conexion JDBC que luego usaria
hibernate para el resto de las consultas, de todas formas no se para
que necesitas saber los ROLES del usuario, con conectarse el usuario
de base ya "usaria" esa conexión los roles del usuario.

3. La verdad no me parece lo mejor, pero podrias hacerlo asi, el hecho
que ya tengan un esquema de seguridad basado en la base de datos es
una dificultad, obviamente la integración es muy sencilla cuando usas
los productos de ORACLE, forms, reports, discoverer, etc etc. Creo que
si usaras JDeveloper para desarrollar tus aplicaciones tambien tenes
la posibilidad de usar el esquema de seguridad de la base de una
manera muy sencilla y rapida.

Una pregunta, que parte de la seguridad de oracle necesitas ? tal vez
tenes ROLES asignados a columnas de tablas o a datos de la base, tenes
algo algo asi de avanzado en seguridad que necesitas o simplemente es
un usuario de base tiene CONNECT ?

Saludos.
Marcelo A. Vasquez
www.jdeveloperla.com



gustavo...@gmail.com ha escrito:
> esquema de seguridad porque ya me lo discut� con el DBA y no transa.

Reply all
Reply to author
Forward
0 new messages