Yetkilendirme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Yetkilendirme
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
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
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.
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]
_________________
_________________
http://www.sourceforge.net'te ücretsiz bir bileşen paketi. UserControl
http://sourceforge.net/projects/usercontrol
İstediğini yapacaktır.
http://sourceforge.net/projects/usercontrol
İstediğini yapacaktır.
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...
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.
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.
ibtable1yetkisil.value bu kod direk veri tabanından yetki kaydı yaptığın hücreyi okur.
gibi.
Başka bişeye gerek 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;
gibi.
Başka bişeye gerek yok.
Allah razi olsun. bu paket cok faydali olducoderlord yazdı:www.sourceforge.net'te ücretsiz bir bileşen paketi. UserControl
http://sourceforge.net/projects/usercontrol
İstediğini yapacaktır.
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
Arkadaşlar bende özenip kurayım komponenti dedim ama derlemeye çalışınca
hatasını alıyorum. Nedir bu dosya. Nerde bulunur..
Kod: Tümünü seç
[Fatal Error] UCMail.pas(15): File not found: 'IdCompilerDefines.inc'
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
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