Commit 78306c29ad80260a12d26be88f999b3f6672bc5b

Authored by Eric Menezes Noronha
1 parent 3637eed2
Exists in master

-Bug fix.

-Adaptação da função de pesquisa LDAP.
MapaTesteProj/MapaTeste.dcu
No preview for this file type
MapaTesteProj/MapaTeste.pas
@@ -411,42 +411,42 @@ end; @@ -411,42 +411,42 @@ end;
411 procedure TfrmMapaCacic.MontaInterface; 411 procedure TfrmMapaCacic.MontaInterface;
412 var strConfigsPatrimonioInterface, strNomeLDAP : String; 412 var strConfigsPatrimonioInterface, strNomeLDAP : String;
413 Begin 413 Begin
414 - btCombosUpdate.Enabled := false; 414 + btCombosUpdate.Enabled := false;
415 415
416 //-------------------------------NOME USUARIO----------------------------------- 416 //-------------------------------NOME USUARIO-----------------------------------
417 - strNomeLDAP := LDAPName; 417 + strNomeLDAP := LDAPName;
418 418
419 - if (strNomeLDAP <> '') and (strNomeLDAP <> 'Results: 0') then  
420 - begin  
421 - edTeInfoNome.Text := strNomeLDAP;  
422 - edTeInfoNome.Visible := true;  
423 - lbEtiquetaNome.Visible := true;  
424 - end  
425 - else  
426 - begin  
427 - edTeInfoNome.Visible := true;  
428 - edTeInfoNome.Enabled := true;  
429 - lbEtiquetaNome.Visible := true;  
430 - end; 419 + if (strNomeLDAP <> '') and (strNomeLDAP <> 'Results: 0') then
  420 + begin
  421 + edTeInfoNome.Text := getLastValue(strNomeLDAP, #$D#$A);
  422 + edTeInfoNome.Visible := true;
  423 + lbEtiquetaNome.Visible := true;
  424 + end
  425 + else
  426 + begin
  427 + edTeInfoNome.Visible := true;
  428 + edTeInfoNome.Enabled := true;
  429 + lbEtiquetaNome.Visible := true;
  430 + end;
431 431
432 -//-----------------------NOME DO COMPUTADOR PARA O EDTEXT-----------------------  
433 - edTeInfoNomeComputador.Text := NomeComputador;  
434 - if edTeInfoNomeComputador.Text <> '' then  
435 - begin  
436 - lbEtiquetaNomeComputador.Visible := true;  
437 - edTeInfoNomeComputador.Visible := true;  
438 - end;  
439 - lbEtiquetaNomeComputador.Visible := true;  
440 - edTeInfonomeComputador.Visible := true; 432 +//- ----------------------NOME DO COMPUTADOR PARA O EDTEXT-----------------------
  433 + edTeInfoNomeComputador.Text := NomeComputador;
  434 + if edTeInfoNomeComputador.Text <> '' then
  435 + begin
  436 + lbEtiquetaNomeComputador.Visible := true;
  437 + edTeInfoNomeComputador.Visible := true;
  438 + end;
  439 + lbEtiquetaNomeComputador.Visible := true;
  440 + edTeInfonomeComputador.Visible := true;
441 441
442 //-----------------------------USUARIO LOGADO----------------------------------- 442 //-----------------------------USUARIO LOGADO-----------------------------------
443 443
444 - edTeInfoUserLogado.Text := getUserLogon;  
445 - if edTeInfoUserLogado.Text <> '' then  
446 - begin  
447 - lbEtiquetaUserLogado.Visible := true;  
448 - edTeInfoUserLogado.Visible := true;  
449 - end; 444 + edTeInfoUserLogado.Text := getUserLogon;
  445 + if edTeInfoUserLogado.Text <> '' then
  446 + begin
  447 + lbEtiquetaUserLogado.Visible := true;
  448 + edTeInfoUserLogado.Visible := true;
  449 + end;
450 450
451 //-------------------------------CPF USUARIO------------------------------------ 451 //-------------------------------CPF USUARIO------------------------------------
452 452
@@ -458,12 +458,12 @@ Begin @@ -458,12 +458,12 @@ Begin
458 end;} 458 end;}
459 459
460 //-----------------------PUXA O IP DA MÁQUINA PARA O EDTEXT------------------------------------- 460 //-----------------------PUXA O IP DA MÁQUINA PARA O EDTEXT-------------------------------------
461 - edTeInfoIpComputador.Text := idipwatch1.LocalIP;  
462 - if edTeInfoIpComputador.Text <> '' then  
463 - begin  
464 - lbEtiquetaIpComputador.Visible := true;  
465 - edTeInfoIpComputador.Visible := true;  
466 - end; 461 + edTeInfoIpComputador.Text := idipwatch1.LocalIP;
  462 + if edTeInfoIpComputador.Text <> '' then
  463 + begin
  464 + lbEtiquetaIpComputador.Visible := true;
  465 + edTeInfoIpComputador.Visible := true;
  466 + end;
467 467
468 //-------------------------PATRIMONIO DA MAQUINA-------------------------------- 468 //-------------------------PATRIMONIO DA MAQUINA--------------------------------
469 { edTePatrimonioPc.Text := SetPatrimonioPc; 469 { edTePatrimonioPc.Text := SetPatrimonioPc;
@@ -472,13 +472,13 @@ Begin @@ -472,13 +472,13 @@ Begin
472 lbEtiquetaPatrimonioPc.Visible := true; 472 lbEtiquetaPatrimonioPc.Visible := true;
473 edTePatrimonioPc.Visible := true; 473 edTePatrimonioPc.Visible := true;
474 end;} 474 end;}
475 - edTePatrimonioPc.Text := strTeInfoPatrimonio1;  
476 - edTePatrimonioPc.Visible := true;  
477 - lbEtiquetaPatrimonioPc.Visible := true; 475 + edTePatrimonioPc.Text := strTeInfoPatrimonio1;
  476 + edTePatrimonioPc.Visible := true;
  477 + lbEtiquetaPatrimonioPc.Visible := true;
478 478
479 479
480 //----------VALOR DE strGerColsInfFileName ALTERADO PARA ARQUIVO TESTE----------------------------- 480 //----------VALOR DE strGerColsInfFileName ALTERADO PARA ARQUIVO TESTE-----------------------------
481 - strConfigsPatrimonioInterface := objCacic.deCrypt(objCacic.getValueFromFile('Configs','Patrimonio_Interface',strGerColsInfFileName)); 481 + strConfigsPatrimonioInterface := objCacic.deCrypt(objCacic.getValueFromFile('Configs','Patrimonio_Interface',strGerColsInfFileName));
482 482
483 { objCacic.writeDebugLog('MontaInterface: in_exibir_etiqueobjCacic.enCta1 -> "' + 483 { objCacic.writeDebugLog('MontaInterface: in_exibir_etiqueobjCacic.enCta1 -> "' +
484 objCacic.getValueFromTags('in_exibir_etiqueta1', 484 objCacic.getValueFromTags('in_exibir_etiqueta1',
@@ -539,10 +539,10 @@ Begin @@ -539,10 +539,10 @@ Begin
539 // if (trim(objCacic.getValueFromTags('in_exibir_etiqueta5', strConfigsPatrimonioInterface)) = 'S') then 539 // if (trim(objCacic.getValueFromTags('in_exibir_etiqueta5', strConfigsPatrimonioInterface)) = 'S') then
540 // begin 540 // begin
541 //lbEtiqueta5.Caption := objCacic.getValueFromTags('te_etiqueta5', strConfigsPatrimonioInterface); 541 //lbEtiqueta5.Caption := objCacic.getValueFromTags('te_etiqueta5', strConfigsPatrimonioInterface);
542 - lbEtiqueta5.Visible := true;  
543 - edTeInfoPatrimonio5.Hint := objCacic.getValueFromTags('te_help_etiqueta5', strConfigsPatrimonioInterface);  
544 - edTeInfoPatrimonio5.Text := strTeInfoPatrimonio6;  
545 - edTeInfoPatrimonio5.visible := True; 542 + lbEtiqueta5.Visible := true;
  543 + edTeInfoPatrimonio5.Hint := objCacic.getValueFromTags('te_help_etiqueta5', strConfigsPatrimonioInterface);
  544 + edTeInfoPatrimonio5.Text := strTeInfoPatrimonio6;
  545 + edTeInfoPatrimonio5.visible := True;
546 // end; 546 // end;
547 547
548 // objCacic.writeDebugLog('MontaInterface: in_exibir_etiqueta6 -> "' + 548 // objCacic.writeDebugLog('MontaInterface: in_exibir_etiqueta6 -> "' +
@@ -558,11 +558,10 @@ Begin @@ -558,11 +558,10 @@ Begin
558 edTeInfoPatrimonio6.visible := True; 558 edTeInfoPatrimonio6.visible := True;
559 // end; 559 // end;
560 560
  561 + btGravarInformacoes.Visible := true;
  562 + btCombosUpdate.Enabled := true;
561 563
562 - btGravarInformacoes.Visible := true;  
563 - btCombosUpdate.Enabled := true;  
564 -  
565 - Application.ProcessMessages; 564 + Application.ProcessMessages;
566 end; 565 end;
567 566
568 procedure TfrmMapaCacic.FormClose(Sender: TObject; var Action: TCloseAction); 567 procedure TfrmMapaCacic.FormClose(Sender: TObject; var Action: TCloseAction);
@@ -586,7 +585,10 @@ begin @@ -586,7 +585,10 @@ begin
586 Except 585 Except
587 on E:Exception do 586 on E:Exception do
588 Begin 587 Begin
  588 + MessageDlg(#13#13+'Problemas ao gerar formulário.',mtError, [mbOK], 0);
  589 + EstadoBarraTarefa(TRUE);
589 objCacic.writeExceptionLog(E.Message,e.ClassName); 590 objCacic.writeExceptionLog(E.Message,e.ClassName);
  591 + Sair;
590 End; 592 End;
591 End; 593 End;
592 End; 594 End;
@@ -829,32 +831,40 @@ end; @@ -829,32 +831,40 @@ end;
829 function TfrmMapaCacic.LDAPName: string; 831 function TfrmMapaCacic.LDAPName: string;
830 var 832 var
831 ldap: TLDAPsend; 833 ldap: TLDAPsend;
832 - l: TStringList;  
833 - host, username, psswd, base, strDadosLDAP, identificador : string; 834 + identificador: TStringList;
  835 + i: integer;
  836 + host, username, psswd, base, strDadosLDAP, aux : string;
834 begin 837 begin
835 result := ''; 838 result := '';
836 ldap := TLDAPsend.Create; 839 ldap := TLDAPsend.Create;
837 - l := TStringList.Create; 840 + identificador:= TStringList.Create;
838 // PEGANDO OS DADOS DO POR MEIO DO GET/CONFIGS, ONDE SERÁ GRAVADO NO GERCOLS.INF 841 // PEGANDO OS DADOS DO POR MEIO DO GET/CONFIGS, ONDE SERÁ GRAVADO NO GERCOLS.INF
839 strDadosLDAP := objCacic.deCrypt(objCacic.getValueFromFile('Configs','Patrimonio_dados_ldap',strGerColsInfFileName)); 842 strDadosLDAP := objCacic.deCrypt(objCacic.getValueFromFile('Configs','Patrimonio_dados_ldap',strGerColsInfFileName));
840 host := objCacic.getValueFromTags('ip', strDadosLDAP); 843 host := objCacic.getValueFromTags('ip', strDadosLDAP);
841 username := objCacic.getValueFromTags('usuario', strDadosLDAP); 844 username := objCacic.getValueFromTags('usuario', strDadosLDAP);
842 psswd := objCacic.getValueFromTags('senha', strDadosLDAP); 845 psswd := objCacic.getValueFromTags('senha', strDadosLDAP);
843 base := objCacic.getValueFromTags('base', strDadosLDAP); 846 base := objCacic.getValueFromTags('base', strDadosLDAP);
844 - identificador:= objCacic.getValueFromTags('identificador', strDadosLDAP);  
845 - try  
846 - ldap.TargetHost := host;  
847 - ldap.UserName := username;  
848 - ldap.Password := psswd;  
849 - ldap.Login; //Loga no LDAP.  
850 - ldap.BindSasl; //Autentica no LDAP com Usuário e senha repassado. (BindSasl é mais seguro que Bind)  
851 - l.Add(identificador); //Estamos pesquisando apenas o nome, então apenas 'cn' será enviado.  
852 - ldap.Search(base, False, 'uid=' + getUserLogon, l); //Faz a pesquisa, com o CPF repassado.  
853 - result := getLastValue(LDAPResultdump(ldap.SearchResult), #$D#$A);  
854 - ldap.Logout;  
855 - finally  
856 - ldap.Free;  
857 - l.Free; 847 + for i := 0 to 2 do //Até 2 porque são no máxio 3 identificadores que serão passados.
  848 + begin
  849 + aux:=objCacic.getValueFromTags('identificador'+IntToStr(i+1), strDadosLDAP);
  850 + if aux<>'' then
  851 + identificador.Add(aux);
  852 + end;
  853 + if (host<>'') and (base<>'') then
  854 + begin
  855 + try
  856 + ldap.TargetHost := host;
  857 + ldap.UserName := username;
  858 + ldap.Password := psswd;
  859 + ldap.Login; //Loga no LDAP.
  860 + ldap.BindSasl; //Autentica no LDAP com Usuário e senha repassado. (BindSasl é mais seguro que Bind)
  861 + ldap.Search(base, False, 'uid=' + getUserLogon, identificador); //Faz a pesquisa, com o CPF repassado.
  862 + result := LDAPResultdump(ldap.SearchResult);
  863 + ldap.Logout;
  864 + finally
  865 + ldap.Free;
  866 + identificador.Free;
  867 + end;
858 end; 868 end;
859 end; 869 end;
860 870