Test Foro de elhacker.net SMF 2.1

Programación => Programación General => 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
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




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