[Lazarus-es] Creación de usuarios firebird

Antonio Evora aevorar en gmail.com
Mar Sep 16 12:11:45 CEST 2014


Estimados colegas.
Hace un par de días (quizás alguno más) que ando liado intentando 
integrar la gestión de usuarios de firebird, versión 2.5, desde una 
aplicación lazarus (SQLDB). Después de muchas pruebas decidí implementar 
tres disparadores en la tabla usuarios (la que manipulo desde lazarus). 
Estos disparadores son:

- De inserción, en el cual creo el nuevo usuario con su contraseña, le 
asigno el rol seleccionado para este y genero el nuevo id.

- De actualización, en el cual si el nombre de usuario cambio, le quito 
los privilegios que tuviera y elimino el usuario, si cambio la 
contraseña le asigno la nueva y si cambio el rol le quito el rol 
anterior y le asigno el nuevo.

- De eliminación, quito los privilegios que tuviera y elimino el usuario.

Consideraciones:
- Para evitar conflictos, añado a los usuarios creados un prefijo.
- Todo lo referente a la gestión de usuarios lo ejecuto usando "execute 
statement".
- En el script de creación de la BD (que se ejecuta como sysdba) creo 
tres usuarios, lo cual hace perfectamente.

El problema que tengo es que cuando accedo a la aplicación con 
cualquiera de los 3 usuarios creados solo puedo manipular aquel con el 
que accedo. Según la documentación es lo normal para usuarios que no 
tiene el rol rdb$admin, que no es el caso, ya que en el script le añado 
ese rol.

Si queréis os envío el código de los disparadores y de los 
procedimientos almacenados que orquestan lo arriba mencionado (ahora no 
es posible ;-D).

¿Alguna idea?




More information about the Lazarus-es mailing list