delphi login windows-authentication firebird2.5 dbexpress

delphi - Autenticación de Windows en Firebird 2.5



login windows-authentication (2)

(V.2.1) Desde Firebird 2.1 en adelante, la seguridad de "Usuario de confianza" de Windows se puede aplicar para autenticar usuarios de Firebird en un host de Windows. El contexto de seguridad del Usuario de confianza se pasa al servidor de Firebird y, si tiene éxito, se usa para determinar el nombre de usuario de seguridad de Firebird.

Simplemente omitiendo los parámetros de usuario y contraseña del DPB / SPB automáticamente se aplicará la autenticación de usuario de confianza de Windows, en casi todos los casos. Consulte la sección Medio ambiente, a continuación, para conocer las excepciones

de la documentación oficial

Además, eche un vistazo a esta pregunta - https://dba.stackexchange.com/questions/154735/how-to-enable-windows-authentication-in-firebird-2-5

¿Puedo iniciar sesión en la base de datos de Firebird usando un usuario de Windows en lugar de usar la credencial SYSDBA y MASTERKEY? Si la respuesta es Sí, hágamelo saber la forma de conectarse a la base de datos de Firebird.

Estoy usando Delphi XE3 y Firebird 2.5. Necesito autenticar al usuario por usuario registrado después de actualizar el archivo de configuración para "confiable" en lugar del predeterminado "nativo" como se especifica aquí: https://firebirdsql.org/file/documentation/release_notes/html/en/2_5/rnfb25- fbconf-authent.html

Este es mi código:

SQLConnection1.LoginPrompt := False; //SQLConnection1.Params.add(''user_name=''); //SQLConnection1.Params.add(''password=''); SQLConnection1.Params.add(''os authentication=True'') ; SQLConnection1.Connected:= True

Todavía pide credenciales.


Si el parámetro TSQLConnection objeto TSQLConnection no está establecido (User_Name= ) , se utiliza el modo de conexión de Autenticación de Windows.

También configure Authentication = mixed o trusted en el archivo firebird.conf y reinicie el servicio FirebirdServer

Si no establece los parámetros user_name y ''password'' en el código (se ha comentado en su código), agréguelos en tiempo de diseño. Es suficiente agregar solo User_Name .

Si quieres usar:

SQLConnection1.Params.add(''user_name=''); // this is enough SQLConnection1.Params.add(''password='');

eliminar los parámetros user_name y password de SQLConnection.Params en tiempo de diseño.

Nota: No use:

SQLConnection1.Params.Values[''User_Name''] := '''';

Esto simplemente elimina el parámetro de la lista.

Actualizar

Esto funciona para mí Como puede ver en firebird.conf, la autenticación es solo de confianza. Parámetros de SQLConnection: el nombre de usuario y la contraseña están vacíos. Y SQLConnection está conectado.

Intenta repetir esta imagen.

Estoy usando Delphi 2010.