[Lazarus-es] Creación de usuarios firebird

Maxi maximiliano.duarte en gmail.com
Mar Sep 16 14:54:15 CEST 2014


El día 16 de septiembre de 2014, 7:11, Antonio Evora
<aevorar en gmail.com> escribió:
> 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?
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

No soy partidario de crear usuarios en el motor, mejor usar 1 usuario
y 1 rol predefinido en la base. Y llevar una tabla de usuarios en el
cual le asignas los roles predefinidos.
Cuando creas 1 usuario debes propagar los privilegios a todas las
vistas,tablas, procedimientos, etc

-- 
El que pregunta aprende, y el que contesta aprende a responder.

No a la obsolecencia programada:
http://www.rtve.es/noticias/20110104/productos-consumo-duran-cada-vez-menos/392498.shtml

Linux User #495070
http://domonetic.com/blog




More information about the Lazarus-es mailing list