Fórum Listar usuários do banco de dados #367692

14/01/2009

0

Ola pessoal,

Estou precisando localizar os usuários do banco de dados Ex. SYSDBA, preciso criar uma rotina de login com os usuários direto do banco


Helderjr

Helderjr

Responder

Posts

14/01/2009

Helderjr

Esqueci de dizer Firebird + DbExpres


Responder

Gostei + 0

14/01/2009

Johnny-walker

utilize-se de do componente IBSecurityService que vc consegue listar os usuários do banco amigo...



bye


Responder

Gostei + 0

15/01/2009

Helderjr

Johnny, blz é isso mesmo que estou precisando, até achei alguns exemplos, só não estou conseguindo configurar o componente para ler o arquivo security.fdb ele lê automaticamente o ISC4.GDB, como mudar isso


Responder

Gostei + 0

15/01/2009

Johnny-walker

Amigo, acredito que ele usa o servidor para pegar as informações...
verifica se o servidor interbase está rodando

pois não há mais nada a conffigurar...

veja a função:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, Buttons, IBServices, DBXpress, DB, SqlExpr,
  ImgList;

type
  TForm1 = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    ListView1: TListView;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    GroupBox2: TGroupBox;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    IBSecurityService1: TIBSecurityService;
    ImageList1: TImageList;
    procedure FormShow(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
  private
    { Private declarations }
  public
    Tipo: byte;
    procedure CarregaUser;
  end;

var
  Form1: TForm1;

implementation

uses IB;

{$R *.dfm}

{ TForm1 }

procedure TForm1.CarregaUser;
var
  i: Integer;
  aLista: TListItem;
begin
  ListView1.Clear;
  with IBSecurityService1 do
  begin
    Active := True;
    DisplayUsers;
    for i := 0 to UserInfoCount - 1 do    { Iterate }
    begin
      with UserInfo[i] do
      begin
        aLista := ListView1.Items.Add;
        aLista.Caption := UserName;
        aLista.SubItems.Add(FirstName + ´ ´ +
          MiddleName + ´ ´ +
            LastName);
      end;
    end;
    Active := False;
  end;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  CarregaUser;
end;

procedure TForm1.BitBtn4Click(Sender: TObject);
begin
  Close;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  Tipo := 0;
  PageControl1.ActivePage := TabSheet2;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
  Tipo := 1;
  with IBSecurityService1 do
  begin
    Active := True;
    DisplayUser(ListView1.Selected.Caption);
    Edit1.Text := UserInfo[0].UserName;
    Edit2.Text := ´´;
    Edit3.Text := ´´;
    Edit4.Text := UserInfo[0].FirstName;
    Edit5.Text := UserInfo[0].MiddleName;
    Edit6.Text := UserInfo[0].LastName;
  end;
  PageControl1.ActivePage := TabSheet2;
end;

procedure TForm1.BitBtn3Click(Sender: TObject);
begin
  Tipo := 2;
  with IBSecurityService1 do
  begin
    Active := True;
    DisplayUser(ListView1.Selected.Caption);
    Edit1.Text := UserInfo[0].UserName;
    Edit4.Text := UserInfo[0].FirstName;
    Edit5.Text := UserInfo[0].MiddleName;
    Edit6.Text := UserInfo[0].LastName;
  end;
  PageControl1.ActivePage := TabSheet2;
end;

procedure TForm1.BitBtn5Click(Sender: TObject);
begin
  with IBSecurityService1 do
  begin
  try
    UserName := Edit1.Text;
    Password := Edit2.Text;
    FirstName := Edit4.Text;
    MiddleName := Edit5.Text;
    LastName := Edit6.Text;
    Active := True;
    case Tipo of
      0: AddUser;
      1: ModifyUser;
      2: DeleteUser;
    end;
    ShowMessage(´Informação salva com sucesso´);
    CarregaUser;
  except
  on E: EIBInterbaseError do
    raise Exception.Create(
      ´Já existe um usuário com esse nome´);
  end;
  end;
end;

end.




bye


Responder

Gostei + 0

15/01/2009

Johnny-walker

o componente está configurado assim:



object IBSecurityService1: TIBSecurityService
  ServerName = ´localhost´
  Params.Strings = (
    ´user_name=SYSDBA´
    ´password=masterkey´)
  LoginPrompt = False
  TraceFlags = []
  SecurityAction = ActionDisplayUser
  UserID = 0
  GroupID = 0
  Left = 56
  Top = 104
end




Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar