Foro de elhacker.net

Programación => Java => Mensaje iniciado por: --<<<@u6u$t0>>>-- en 7 Mayo 2014, 02:27 am



Título: NetBeans ¿Cambiar usuario y contraseña de un EntityManager con JPA?
Publicado por: --<<<@u6u$t0>>>-- en 7 Mayo 2014, 02:27 am
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!  :)


Título: Re: NetBeans ¿Cambiar usuario y contraseña de un EntityManager con JPA?
Publicado por: ~ 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.


Título: Re: NetBeans ¿Cambiar usuario y contraseña de un EntityManager con JPA?
Publicado por: --<<<@u6u$t0>>>-- en 8 Mayo 2014, 06:04 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:

Código:
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






Título: Re: NetBeans ¿Cambiar usuario y contraseña de un EntityManager con JPA?
Publicado por: ~ Yoya ~ en 9 Mayo 2014, 02:16 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.


Título: Re: NetBeans ¿Cambiar usuario y contraseña de un EntityManager con JPA?
Publicado por: --<<<@u6u$t0>>>-- en 9 Mayo 2014, 05:48 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!


Título: Re: NetBeans ¿Cambiar usuario y contraseña de un EntityManager con JPA?
Publicado por: ~ Yoya ~ en 10 Mayo 2014, 02:35 am
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.


Título: Re: NetBeans ¿Cambiar usuario y contraseña de un EntityManager con JPA?
Publicado por: jhonatanAsm en 11 Mayo 2014, 06:06 am
podrías basarte en spring security.
mkyong te puede ayudar.