Yetkilendirme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
akipek
Üye
Mesajlar: 254
Kayıt: 24 Haz 2005 01:28

Yetkilendirme

Mesaj gönderen akipek »

Merhaba delphi ve Ms Sql 7.0 kulanıyorum. Programımda yetkilendirme yapmak istiyorum. Bu iş profesyonel ortamlarda nasıl yapılıyor acaba ?

Mesela bir form açılacak
1. bazı alanlar görünsün/görünmesin
2. bazı alanlar enable olsun/olmasın
3. database'e kayıt eklesin/eklemesin, silsin/silemesin, değiştirsin/değiştiremesin

gibi
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Mesaj gönderen pro_imaj »

Merhaba bu konu biraz karmaşık bir yuapı içermekle birlikte aslında açık bir mantığı vardır.

Kullanıcı tanımı veritabanınızda her alan için veya her form için tanımlama yaparsınız form create edilirken buryı kontrol ettirisiniz true değeri dönen olayları yaptırı dönmeyenleri yaptırmazsınız.

Ben kullanıcı hakarını bu şekilde yapıyorum (belki MSSQL server ile daha prof şekilde yapılabilinir ama bu benim geliştirdiğim bir yöntem.

Saygılar.
Kolay gelsin.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

http://www.sourceforge.net'te ücretsiz bir bileşen paketi. UserControl

http://sourceforge.net/projects/usercontrol

İstediğini yapacaktır.
akipek
Üye
Mesajlar: 254
Kayıt: 24 Haz 2005 01:28

Mesaj gönderen akipek »

peki bu form yavaşlatmazmı
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

en basiti user tablosunda yetki alanı aç ve program ilk açılışta glabal bir değişkene atama yap sonra da yetki derecesine bakarak dallandırma yap.

case yetki 1 se herşey açık olsun 2 ise şu menulere ulaşsın ulaştığı şu formlarda edit buttonları aktif olsun vesaire vesaire gibi...

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

akipek yazdı:peki bu form yavaşlatmazmı
Yavaşlatmaz. Saniyede 1 milyar bogomips işlem mi yapıyorsun ki arkadaş?
akipek
Üye
Mesajlar: 254
Kayıt: 24 Haz 2005 01:28

Mesaj gönderen akipek »

fikirleriniz için çok teşekkür ederim.
Kullanıcı avatarı
bluefire
Üye
Mesajlar: 29
Kayıt: 02 Ağu 2005 03:32

Mesaj gönderen bluefire »

cidden bu yetkilendirme işini ayrıntılı bir şekilde anlatacak yokmu?
bilgi herşeye değer...
ASE
Kıdemli Üye
Mesajlar: 518
Kayıt: 28 Ağu 2003 03:17
Konum: samsun
İletişim:

Mesaj gönderen ASE »

Kardeş bunu daha ayrtıntısu yok

Eğer kişinin kayıt yapma yetkisi yoksa

Kayıt butonu kapalı veya gizli olacak
silme yetkisi yoksa silme butonu.

Hareketleri görmeye yetkisi yoksa hareket formunu açan buton.
Bunları her form açılırken oncreate olayında kontrol edersin.

Kod: Tümünü seç

silbuton.enabled:= ibtable1yetkisil.value;
ibtable1yetkisil.value bu kod direk veri tabanından yetki kaydı yaptığın hücreyi okur.

gibi.
Başka bişeye gerek yok.
Allah'ım!...
Yol boyunca bırakma elimi...
Düşerim sonra...


ASE YAZILIM
bukentay
Üye
Mesajlar: 44
Kayıt: 16 Şub 2004 07:21

Mesaj gönderen bukentay »

coderlord yazdı:www.sourceforge.net'te ücretsiz bir bileşen paketi. UserControl

http://sourceforge.net/projects/usercontrol

İstediğini yapacaktır.
Allah razi olsun. bu paket cok faydali oldu
uzun uzun kod yazmaktan kurtardi beni. yazanlar brezilyali oldugundan ispanyolca olayini biraz asinca yarim saatte programda her turlu yetkilendirme, kullanici girisi isini kolayca hallettim.hele ki programda ki olaylari ActionList ile yonetiyorsaniz UserControl nesnesinin ControlRight ozelliginde bu ActionListi kullanarak cok kolay bi sekilde yetkilendirme yapilabilio. firebird ile kullanmak icin Ibx ve FıbPlus destegide var. paketin kendisi kullandiginiz veritabanina dort adet tablo olusturarak kullanici yonetimi saglio
ASE
Kıdemli Üye
Mesajlar: 518
Kayıt: 28 Ağu 2003 03:17
Konum: samsun
İletişim:

Mesaj gönderen ASE »

Arkadaşlar bende özenip kurayım komponenti dedim ama derlemeye çalışınca

Kod: Tümünü seç

[Fatal Error] UCMail.pas(15): File not found: 'IdCompilerDefines.inc'
hatasını alıyorum. Nedir bu dosya. Nerde bulunur..
Allah'ım!...
Yol boyunca bırakma elimi...
Düşerim sonra...


ASE YAZILIM
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Indy'de bulunur. Indy 10 mu kurmuştun? O satırı comment edince derleniyordu diye hatırlıyorum.
ASE
Kıdemli Üye
Mesajlar: 518
Kayıt: 28 Ağu 2003 03:17
Konum: samsun
İletişim:

Mesaj gönderen ASE »

Sağol coder onu farkettim ama bu ispanyolca bana göre değil sanırım. Kullanmakta zorluk çekeceğim. İngilizce bi kuulanım klavuzu yokmu bildiğiniz bunu için....
Allah'ım!...
Yol boyunca bırakma elimi...
Düşerim sonra...


ASE YAZILIM
bukentay
Üye
Mesajlar: 44
Kayıt: 16 Şub 2004 07:21

Mesaj gönderen bukentay »

install dosyasinda indy 10'nun kurulu oldugu klasoru library path'e ekleyin diye yaziyor.

ben FibPlus ile kullandigimdan Packages klasorundeki UCFIBD7.dpk'yida derledim. ADO,Ibx,BDE zaten otomatik geliyor.

oncelikler forma bir tane TUserControl ekleyin. Bir tanede kullandiginiz veritabanina gore DataConnector. DataConnectorun Connection ozelligini kullanmak istediginiz veritabani olarak ayarlayin. UserControl'un DataConnectorunu secin.
su haliyle bile kullandiginiz database icin open ya da connect dediginizde calisiyor.varsayilan kullanici adi 'Admin' sifre ise '#delphi'.

projenizde Actionlist kullaniyosaniz, kullanici hesaplarini yonetmek icin bi action ekleyin.bu action'nu ana menunuzde bi yere ekleyin ya da bi tusa baglayin.
UserControl1-UsersForms-Action'an bu actionu baglayin. programiniz acilip varsayilan Admin ve #delphi ile girdikden sonra actionu bagladiginiz yeri calistirirsaniz yeni kullanici ekleme, var olani silme gibi islemleri yapabildiginiz bi ekran cikiyor. dedigim yerlerdeki butun yazilar ispanyolca fakat, Languages\English\UCConsts.pas dosyasini turkceye cevirip Source klasorune atarsaniz yazilar turkce oluyor. veya formunuza bir tane TUCsettings eklerseniz, bunun yardimiyla da turkce yapabilirsiniz. Ornegin UCSettings1-Login kismi ilk giris ekranindaki yazilar.butun bir dosya ile ugrasmakdansa ben burada lasim olan degisiklikleri yaptim.
Yetkilendirme icin UserControl1-ControlRight ozelligini kullanmak pratik.Bunu kullandiginiz ActionListe baglarsaniz, kullanici islemleri yaptiginz yerde Rights die bi tus var(ispanyolca ise;Sagda ustten 4. tus) ona bastiginiz zaman kullandiginiz ActionList'in butun olaylari geliyor. secili user icin bu olaylarin yetkisini ayarlayabilirsiniz. eger ActionList de kategoriler kullandiysaniz burada da o kategoriler geliyor. Ben programdaki olaylari Kullanici islemleri,Stok islemleri,Servis İşlemleri gibi kategorilere ayirdim yetkilendirme yaparken daha derli toplu oluyor. yetkilendirme isi TUserControls ile de olabiliyor ama ben kullanmadim. programdaki butun buttonlarla,menulerle ugrasmak zaman aliyor.UserControl1-UsersProfile kismini da bi yere baglarsaniz, kullanicilar icin onceden tanimli profiller kullanabilirsiniz.
Boyleyken bolye.. umarim isinize yarar. Aslinda dogru duzgun bi dokumantasyonu olsa iyi olurdu ama
akipek
Üye
Mesajlar: 254
Kayıt: 24 Haz 2005 01:28

Mesaj gönderen akipek »

action list nedir? nerelerde ne iş için kullanılır ?
Cevapla