Cambio de usuario en sql server desde JAVA

Iniciado por aperez48, 28 Enero 2015, 00:18 AM

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

aperez48

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  ;-)

Usuario Invitado

¿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).
"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein

MNicolas

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.

aperez48

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!