jueves, agosto 28, 2008

Firebird 2.1 Autentificar con Windows

La mayoría de las aplicaciones que desarrollo que utilizan Firebird son de tipo Cliente/Servidor lo cual hace que el deba de guardar al usuario y contraseña en la cadena de conexión almacenada en la maquina cliente.

Ahora con Firebird 2.1 puedo usar los usuarios de windows como usuarios de la base de datos, de este modo no necesito almacenar el usuario y contraseña en la maquina cliente.

Utilizando Delphi o C++ Builder con DbExpress para conectarme a la base de datos puedo agregar el archivo dbConnections.ini y dejar en blanco los valores de user_name y password. El archivo quedaría similar a esto:

[MyFirebirdDatabase]
DriverName=INTERBASE
GETDRIVERFUNC=getSQLDriverINTERBASE
DATABASE=Server:Database
PASSWORD=
USER_NAME=
SQLDIALECT=3

Si uso .Net y el Firebird .Net Data Provider la cadena de conexión puede quedar algo asi:
Database=MyDatabase.fdb;DataSource=MyServer;Dialect=3;

Si el usuario es administrador entonces ingresará al servidor de firebird como el usuario SYSADMIN si no usara el usuario d windows actual.

Ahora solo debo de agregar los usuarios de windows a los usuarios de la base de datos y windows se encargará de autentificar.

3 comentarios:

  1. Hola, Estoy usando un triger para grabar el usuario que se conecto a la base de datos, pero al cambiar la configuracion para que autentique con el usuario windows no me registra el campo con el usuario windows que se conecto a la base de datos

    new.usuario = current_usuario

    ResponderEliminar
  2. Hola, como lo comento en el post, si el usuario es administrador regresará sysadmin en lugar del usuario de windows.

    ¿Es eso lo que esta pasando?

    ResponderEliminar