PDA

Ver la Versión Completa : Control de Permisos con ADO


Migpal
25-10-2005, 18:37:25
Bueno Colegas,

Mi situación es la siguiente: Tengo D5 con ADO para mi aplicativo, en el MSSQL definí los roles, hasta hay todo bien. Pero cuando inicio la inserciòn de un dato ej: Datasource.dataset.insert, el aplicativo pone la tabla en modo de inserciòn siendo el usuario de un rol que no tenia permisos.

Cuando se ejecuta Datasource.dataset.post sale la excepcion de que no tiene permisos, mi pregunta es: Como hago para que me valide desde el mismo momento en que la tabla se pone en modo de inserciòn y no cuando la transacción se va a ejecutar?

Gracias, Fuí Claro?

Xianto
01-11-2005, 17:07:46
Buenas... he leido varias veces tu pregunta, pero no logro entender que estas haciendo.

Para empezar una tabla de MSSQL en sus ultimas versiones no se puede poner en modo de inserción, o al menos estarias cometiendo un fallo.

Por lo general abres un conexión con la DB y luego insertas registros, con el comando "INSERT INTO TABLE (CAMPOS) VALUES(VALORES)", pero no como lo intentas hacer.

No se, pero desde el summer 87 que no hago eso en una tabla, jejeje.

Pero bue, postea un poco más de código a ver si te podemos ayudar más.

saludos !

__hector
01-11-2005, 18:44:01
No es posible. Quizas consultando antes de empezar la insercion, ya sea haciendo una simulacion de la misma tarea, o consultando los permisos (que se otorgan con grant, quizas con sp_helpuser o algun equivalente) puedas lograrlo.

Migpal
01-11-2005, 19:51:33
Gracias por sus respuestas, les comento que aún no he podido solucionarlo, creo yo que cualquier objeto de tipo ADOdataset se puede poner en estado insert sin que tenga que preguntarle al SQLserver si el usuario tiene permisos o no.

Ya tire la toalla, ni modo, voy a dejar que el usuario crea que pueda insertar pero cuando le da a click a Guardar le saldra la excepción.

Cabanyaler
08-11-2005, 08:27:50
Hola, voy a contarte como he hecho yo eso. Supongo que será más o menos criticable, pero funciona.

Me he creado 3 tablas (Usuario, Derecho y Aplicacion) y en ella es obvio lo que almaceno. Cuando intento hacer una determinada operación consulto para esa Aplicación que Derechos tiene ese Usuario y dejo hacer o no.
Espero haberte ayudado.

;)