Foro de elhacker.net

Programación => Java => Mensaje iniciado por: aperez48 en 28 Enero 2015, 00:18 am



Título: Cambio de usuario en sql server desde JAVA
Publicado por: aperez48 en 28 Enero 2015, 00:18 am
Hola que tal, tengo una duda :huh: como es que podría crear un método que me permita cambiar el usuario del SGBD por otro con menos permisos al momento de ejecutar alguna acción dentro del sistema, esto con el propósito de que el usuario no realice ciertos cambios en la base de datos.

Estoy haciendo uso de NetBeans 8.0 y del framework de JSF 2.2 e implementando PrimeFaces 5.1

De antemano gracias por su ayuda!!  ;D  ;-)


Título: Re: Cambio de usuario en sql server desde JAVA
Publicado por: Usuario Invitado en 28 Enero 2015, 01:52 am
¿Y si manejas esos permisos por software? Por ejemplo, de acuerdo a los permisos del usuario, evitar mostrar X opciones.

Otra opción sería utilizar Runtime para cambiar el usuario activo por medio de la consola (desconozco si es posible en SQL Server).


Título: Re: Cambio de usuario en sql server desde JAVA
Publicado por: MNicolas en 28 Enero 2015, 17:02 pm
No estoy seguro si funciona, nunca lo he probado.

¿Y si cierras la actual conexión y abres otra nueva pásandole las credenciales?

Desde tu conector de Java me refiero.


Título: Re: Cambio de usuario en sql server desde JAVA
Publicado por: aperez48 en 4 Febrero 2015, 20:16 pm
Gracias a ambos, encontre una buena solución que es mandar desde el código java una sentencia sql que indique el cambio de usuario, el cual es el siguiente:

/** Cambio de usuario */
EXECUTE AS LOGIN = 'otherLogin';
---- Esto para ejecutar la acción con los permisos que tiene este usuario ----

/** Revertir el cambio de usuario */
REVERT;
---- Esto para regresar al login anterior ----

Espero y le sirva a alguien en el futuro.

Saludos!