Hola amigos,
ese tipo de practica (que utilice por cerca de 3 años), el de colocar dentro de los componentes el nombre de usuario y password creo que no es recomendable no solo pro el problema de seguridad que se comenta sino ademas porque si a algun gracioso le da por cambiar el password del sysdba tendrias que modificar el fuente y volver a compilar.
Una estrategia seria tener encriptados en un archivo (puede ser .ini) la informacion de coneexion.
De todas formas recomiendo (y me ha funcionado) que los usuarios se definan a nivel del motor y no dentro de tablas de la propia base de datos.
Sucede que la definicion de usuarios a nivel de motor escasamente nos permite colocar los nombres y apellidos del usuario, el interrogante es donde poner datos como direccion, telefono, cargo, etc.
En ese sentido si defino en mis aplicaciones una tabla (la llamo TS_USUARIO por Tabla del Sistema USUARIO y mi empresa se llama TeraSoft jiji) para los datos complemetarios de los usuarios, incluso tengo un campo ESTADO para indicar si el usuario tiene acceso a la BD o no. Pero alli no coloco nada de claves !!!.
Algunas personas se preguntaran como hago para que el usario no pueda entrar a ciertas partes del programa ?. pues señores para eso son los roles que te restringen hasta donde puede entrar un usuario a las tablas de la BD, y ese rol si lo capturas (tuve que escribir un formulario para eso) como una variable global puedes antes de ingresar a un menu indicar si ese rol tiene permiso para ese menu o no.
Si no cuentan con un programa para manejar los roles prueben con Mitec IBQuery.
Miremos la psobilidad de en colabroacion construir un formulario para ese proposito.
__________________
Luis Fernando Buelvas T.
|