IBSecurityService Bileşeninin Kullanımı

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
Kullanıcı avatarı
Fatih!
Kıdemli Üye
Mesajlar: 1172
Kayıt: 26 Kas 2004 10:46
Konum: Malatya
İletişim:

IBSecurityService Bileşeninin Kullanımı

Mesaj gönderen Fatih! »

IBSecurityService

Bu bileşen Adduser,DeleteUser,ve ModifyUser metotlarını kullanarak IB/FB de kullanıcı tanımlamanızı,silmenizi ve Değiştirmenizi sağlar. Ayrıca DisplayUser metodunu kullanarak kullanıcı bilgilerini bulabilir ve görüntüleyeblirsiniz. Aşağıda örnek programımızla bu bileşeni kullanmayı öğrenelim.

Resim

öncelikle aşağıdaki kod bloğunu bir kaç kez kullanacağımız için prosedür olarak tanımlayalım.

Kod: Tümünü seç

procedure Tanaform.guvenlik_Ozelliklerini_Ayarla;
begin
  with IBSecurityService1 do
  begin
    UserName := EdtKullaniciAdi.Text;
    FirstName := EdtAdi.Text;
    MiddleName := Edt2Adi.Text;
    LastName := EdtSoyadi.Text;
    Password := EdtSifre.Text;
    UserId := StrToInt(EdtKullaniciNo.Text);
    GroupId := StrToInt(EdtGrupNo.Text);
  end; //with
end;
Kullnıcı tanımlamak için aşağıdaki kodu Ekle buttonumuzun OnClick Özelliğine Yazalım.

Kod: Tümünü seç

guvenlik_Ozelliklerini_Ayarla;
  with IBSecurityService1 do
  begin
    Active := True;
    try
      AddUser;
    finally
      Active := False;
    end; //try
  end; //with
Ekle buttonuna tıklanmasıyla tanımladığımız prosedüre gidiyor ve Editlerdeki bilgiler IBSecurityService bileşeninin özelliklerine atanıyor. Daha Sonra bileşenin Active özelliğine True değeri atanarak databaseye bağlanıyor ve AddUser Komutuyla Yeni Kullanıcı ekleniyor.
Şimdi varolanı bulup görüntüleyelim. bunun için kodu Bul adlı buttonumuzun Onclick yordamına yazıyoruz

Kod: Tümünü seç

  if EdtKullaniciAdi.Text = '' then
  begin
    ShowMessage('Aramanın Başlatılabilmesi İçin Kullanıcı Adını Girmek Zorundasınız.');
    Exit;
  end; //if
  with IBSecurityService1 do
  begin
    Active := True;
    try
     //Kullanıcı Bilgilerini Bul.
      DisplayUser(EdtKullaniciAdi.Text);
     //Kullanıcı Bulunamadıysa Çık
      if UserInfo[0] = nil then
      begin
        ShowMessage('Kullanıcı Bulunamadı');
        Exit;
      end; //if
      //Kullanıcı Bilgilerini Göster
      EdtAdi.Text := UserInfo[0].FirstName;
      Edt2Adi.Text := UserInfo[0].MiddleName;
      EdtSoyadi.Text := UserInfo[0].LastName;
      EdtKullaniciNo.Text := IntToStr(UserInfo[0].UserId);
      EdtGrupNo.Text := IntToStr(UserInfo[0].GroupId);
      EdtSifre.Text := '';
    finally
      Active := False;
    end; //try
  end; //with
Kullanıcı bilgilerini Bulabilmek için Kullanıcı Adı bileşenin DisplayUser özelliğine yazılması gerekir.Girilen kullanıcı hakkında bilgi bulunursa UserInfo özelliğine atanır.

UserInfo özelliği aşağıdaki şekilde pas dosyasında tanımlanmıştır.

Kod: Tümünü seç

TUserInfo = record
    UserName: string;
    FirstName: string;
    MiddleName: string;
    LastName: string;
    GroupID: Integer;
    UserID: Integer;
end;
Eğer aranan kullanıcı bilgisi yoksa yukarıda tanımlanan ilk eleman boş değer dönderir. yukarıdaki kod kullanıcının kullanıcı ismini girip girmediğini kontrol eder doğruysa bileşenin active özelliği True olarak ayarlanarak IB/FB ye ulaşarak bulunan kullanıcıyı çağırır. UserInfo metodunun ilk elemanı boşsa uyarı mesajı gösterilir ve Prosedürden çıkılır. UserInfoda Bir kullanıcı bilgisi bulunursa Bilgiler formun üzerindeki Editlere atanır ve bileşenin Active özelliği False olarak ayarlanır.

Aşağıdaki kodu Değiştir buttonunun OnClick olayına yazarak Varolan bir kullanıcının Bilgilerini değiştiriyoruz. Aşağıdaki kod bloğu hemen hemen yeni kullanıcı tanımlamak için Ekle buttonunun OnClick Yordamına yazdığımız kodla aynıdır. tek fark AddUser komutu yerine ModifyUser kullnmamız.

Kod: Tümünü seç

guvenlik_Ozelliklerini_Ayarla;
  with IBSecurityService1 do
  begin
    Active := True;
    try
      ModifyUser;
    finally
      Active := False;
    end; //try
  end; //with
Aşağıdaki kodu Sil buttonunun OnClick olayına yazın. Tanımlanan bir kullanıcıyı silmek için bileşenin UserName özelliğine silmek istediğiniz Kullanıcı adını girerek DeleteUser komutuyla belirtiğiniz Kullanıcıyı silebilirsiniz. Girdiğiniz kullanıcı ismi varsa Belirttiğiniz Kullanıcı Bilgisi silinecektir. Belirttiğiniz kullanıcı yoksa Kod Çalışmayacak ve hiçbir işlem yapılmayacaktır.

Kod: Tümünü seç

 with IBSecurityService1 do
  begin
    UserName := EdtKullaniciAdi.Text;
    Active := True;
    try
      DeleteUser;
    finally
      Active := False;
    end; //try
    EdtKullaniciAdi.Text := '';
    EdtAdi.Text := '';
    Edt2Adi.Text := '';
    EdtSoyadi.Text := '';
    EdtSifre.Text := '';
    EdtKullaniciNo.Text := '0';
    EdtGrupNo.Text := '0';
  end; //with
Cevapla