NetBeans ¿Cambiar usuario y contraseña de un EntityManager con JPA?

Iniciado por --<<<@u6u$t0>>>--, 7 Mayo 2014, 02:27 AM

0 Miembros y 1 Visitante están viendo este tema.

--<<<@u6u$t0>>>--

Hola, estoy haciendo una aplicacion en NetBeans (Java) que debe ser usada por varios usuarios con distintos privilegios. Quiero usar jTables vinculadas con un List result, Persistence Query y un Entity Manager, pero que todos o algunos datos esten restringido a ciertos usuarios con menos privilegios.

Segun vi puedo cambiar el usuario y contraseña manualmente yendo a la pestaña "Services - Databases" pero esto no me sirve ya que necesito hacerlo desde el codigo.  :huh:

¿alguien me puede decir como cambiar el usuario y contraseña que usa JPA desde el codigo?

Gracias desde ya por la ayuda!  :)
Tengo que saber mas sobre Informatica...

                                             ---<<<‹|[@u6u$t0]|›>>>---

AugustoM Augus1990 @u6u$t0

~ Yoya ~

Lo primero que tienes que tener en cuenta, es que no tiene que ver nada Java con Netbeans, Netbeans es un IDE nomas.

Cuando cambias el usuario y password, estas cambiando las credenciales del usuario que tiene acceso a la base de datos que estas utilizando tu aplicación. Pero lo que quieres hacer es diferente, lo que intentas hacer es un sistema de control de acceso.

Puedes utilizar JAAS, o simplemente crear tu propio sistema de autorización y autenticación.

Saludos.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

--<<<@u6u$t0>>>--

Cita de: ~ Yoya ~ en  8 Mayo 2014, 04:38 AM
Lo primero que tienes que tener en cuenta, es que no tiene que ver nada Java con Netbeans, Netbeans es un IDE nomas.

Cuando cambias el usuario y password, estas cambiando las credenciales del usuario que tiene acceso a la base de datos que estas utilizando tu aplicación. Pero lo que quieres hacer es diferente, lo que intentas hacer es un sistema de control de acceso.

Puedes utilizar JAAS, o simplemente crear tu propio sistema de autorización y autenticación.

Saludos.

Pero por ejemplo he visto que con JPA hacen esto al crear un EntityManager:


Map properties = new HashMap();
properties.put("javax.persistence.jdbc.user", user);
properties.put("javax.persistence.jdbc.password", password);
EntityManager em = factory.createEntityManager(properties);


Ahi establece el usuario y la contraseña que usara el EntityManager ¿no? entonces ¿no hay una forma de cambiar el usuario y contraseña posteriormente cuando el EntityManager ya ha sido creado?

Gracias desde ya por la ayuda.  :P




Tengo que saber mas sobre Informatica...

                                             ---<<<‹|[@u6u$t0]|›>>>---

AugustoM Augus1990 @u6u$t0

~ Yoya ~

Cita de: --<<<@u6u$t0>>>-- en  8 Mayo 2014, 06:04 AM
Ahi establece el usuario y la contraseña que usara el EntityManager ¿no? entonces ¿no hay una forma de cambiar el usuario y contraseña posteriormente cuando el EntityManager ya ha sido creado?

Hay no establece la contraseña del EntityManager, en el ejemplo que pones lo que haces es setear el usuario y password del JDBC que se para connectarse a una base de datos y cuyo usuario y password que se le especifican, son usuarios creado en el gestor de base de datos.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

--<<<@u6u$t0>>>--

Cita de: ~ Yoya ~ en  9 Mayo 2014, 02:16 AM
Hay no establece la contraseña del EntityManager, en el ejemplo que pones lo que haces es setear el usuario y password del JDBC que se para connectarse a una base de datos y cuyo usuario y password que se le especifican, son usuarios creado en el gestor de base de datos.

Ok, ¿pero se puede cambiar ese usuario y contraseña seteados? ¿sabes como podria hacerlo? Si sabes me ayudaria un monton porque usando esto evito tener que programar un monton de cosas referentes a la vinculacio nde las jTable con las tablas de la base de datos.

Gracias por la ayuda!
Tengo que saber mas sobre Informatica...

                                             ---<<<‹|[@u6u$t0]|›>>>---

AugustoM Augus1990 @u6u$t0

~ Yoya ~

Crea otro EntityManager con el nuevo usuario y password, y listo.

Pero te lo repito y sin ofender, para realizar una aplicación basada en usuarios, hacerlo de la forma que lo haces es una asquerosidad. Lo ideal es tener una tabla con los usuarios y password...

Saludos.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

jhonatanAsm

podrías basarte en spring security.
mkyong te puede ayudar.
mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.

- La mayor complejidad de todas es hacer complejo algo que no lo es.

- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.