Ver Mensaje Individual
  #15  
Antiguo 13-10-2012
cointec cointec is offline
Miembro
 
Registrado: jul 2004
Ubicación: Alicante-España
Posts: 76
Reputación: 20
cointec Va por buen camino
Hola, yo utilizo ( más o menos ) el siguiente código que sirve tanto para Firebird como para Interbase. La única diferencia, en el caso de firebird, es que si le das permisos a un usuario para mantener usuarios, debes introducir en la conexión el role RDB$ADMIN. En el caso de interbase, con dar permisos de lectura/escritura/borrado a un usuario en la tabla de usuarios de admin.ib es suficiente, para que pueda administrar cuentas de usuario.

Código:
 
      with TIBSecurityService.Create( nil ) do
           try
               ServerName := 'localhost';
               LoginPrompt := False;
               Params.Add( 'user_name=' + UsuarioAdministrador );
               Params.Add( 'password=' + UsuarioAdministradorClave;
               if( Config.Conexiones.ConexionActiva.EsFirebird25Superior and
                   ( AnsiCompareText( UsuarioAdministrador, 'SYSDBA' ) <> 0 ) )then
                  SQLRole := 'RDB$ADMIN';

               Active     := True;
               FirstName  := UsuarioNombre;
               MiddleName := '';
               LastName   := UsuarioApellidos;
               UserID     := 0;
               GroupID    := 0;
               UserName   := Usuario;
               Password   := UsuarioClave;
 
              case TipoAccion of
                  1: AddUser;
                  2,4: ModifyUser;
                  3: DeleteUser;
              end
           finally
              Free;
           end;
__________________
Un saludo, Jesus García
Responder Con Cita