Listar usuários do banco de dados
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
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
Curtidas 0
Respostas
Helderjr
14/01/2009
Esqueci de dizer Firebird + DbExpres
GOSTEI 0
Johnny-walker
14/01/2009
utilize-se de do componente IBSecurityService que vc consegue listar os usuários do banco amigo...
bye
bye
GOSTEI 0
Helderjr
14/01/2009
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
GOSTEI 0
Johnny-walker
14/01/2009
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:
bye
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
GOSTEI 0
Johnny-walker
14/01/2009
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
GOSTEI 0