Yorumları: 211
Konuları: 39
Kayıt Tarihi: 16-12-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 62 Başlangıç
Arkadaşlar Merhaba; Sağlıklı Günleriniz Olsun.
Yazmış olduğum uygulamada ki modüllere kullanıcı hakkı şeklinde bir işlem yapmak istiyorum yardımcı olursanız sevinirim.
Kurulum esnasın damı daha doğru olur yoksa program içerisinden mi?
Şöyle;
Button1 "Stok Bakiye Raporu" alabilsin ama
Button2 "Stok Hareket Raporu" hakkı olmadığı için soluk kalacak.
bu şekilde nasıl yapabilirim?
Delphi7 kullanıyorum.
Yorumları: 70
Konuları: 5
Kayıt Tarihi: 16-11-2019
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 117 Başlangıç
Bu tür tanımlamalar şifre yetkilendirme aşamasında yapılır. Hangi kullanıcı adı (ve şifre) hangi işlemleri yapabilir burada belirlenir. Kullanıcı adına göre menüleri disable yapmanız gerekecek. Şifre tanımlama modülünde ayrıca şifre kullanım süreleri, şifre yapıları (kaç karakter olacak, küçük büyük harf ve rakam miktarı gibi) olması gereken standartlardır. (Bak. CFR 21 part 11)
Yorumları: 152
Konuları: 3
Kayıt Tarihi: 22-10-2018
Aktif Kullandığınız Delphi Sürümü:
- Delphi 10.2
- Delphi 10.1
- Delphi 7
- Lazarus / FPC
Rep Puanı: 1.130 Programcı
13-02-2021, Saat: 16:04
(Son Düzenleme: 13-02-2021, Saat: 16:18, Düzenleyen: mustafaozpinar.)
Selamlar,
Bunu kurulum esnasında nasıl yapacaksınız bilemedim. Programın içinde yapmanız zaruri. Bunun için de her ekranın açılışında, her raporun girişinde yetki (Authorization) kontrolü yapmanız gerekir.
Ben şu şekiilde yapıyorum;
Tüm aksiyonlar için bir Permission tablom var
Id Description Parent IsActive
==== ================================== ====== ========
1 All administrator permissions 0 1
100 All authorization parameters 1 1
101 User all ops 100 1
102 User add 101 1
103 User edit 101 1
104 User delete 101 1
105 User view 101 1
107 User group ops 101 1
111 Group all ops 100 1
112 Group add 111 1
113 Group edit 111 1
114 Group delete 111 1
115 Group view 111 1
131 Permission all ops 100 1
132 Permission add 131 1
133 Permission edit 131 1
134 Permission delete 131 1
135 Permission view 131 1
Öncelikle tüm işlemler için burada birer kayıt açıyorum. Elbette bir User tablom var. Bu iki tabloyu birleştiren bir UserPermission tablosu oluşturuyorum. Bu tablo sadece UserId ve PermissionId kolonlarından ibaret. Kullanıcıya hangi hakkı vereceksem burada o kombinasyonu ekliyorum, hakkı kaldırmak için siliyorum.
Permission tablosundan gördüğünüz gibi bir de ParentId kolonu var. Bu bana bir kullanıcıya tek bir hak vererek onun alt erişim haklarını da tanımayı sağlıyor... Ayrıca benim kullandığım fazladan bir de Group tablom var. Buradan kullanıcıları bu gruplara bağlayarak bir gruba hak verdiğimde bu grupta yer alan tüm kullanıcılara da hak vermiş oluyorum. Bu sistemi tam olarak kullandığım bir Örnek program'a erişip inceleyebilirsiniz. Program biraz karmaşık gelebilir (çünkü basit bir ORM oluşturmaya çalıştım, her tablo için birer Entity class var ve bunları kullanıyorum), bu durumda yaptığım açıklamalardan kendiniz oluşturmanız lazım.
Yorumları: 211
Konuları: 39
Kayıt Tarihi: 16-12-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 62 Başlangıç
(13-02-2021, Saat: 16:04)mustafaozpinar Adlı Kullanıcıdan Alıntı: Selamlar,
Bunu kurulum esnasında nasıl yapacaksınız bilemedim. Programın içinde yapmanız zaruri. Bunun için de her ekranın açılışında, her raporun girişinde yetki (Authorization) kontrolü yapmanız gerekir.
Ben şu şekiilde yapıyorum;
Tüm aksiyonlar için bir Permission tablom var
Id Description Parent IsActive
==== ================================== ====== ========
1 All administrator permissions 0 1
100 All authorization parameters 1 1
101 User all ops 100 1
102 User add 101 1
103 User edit 101 1
104 User delete 101 1
105 User view 101 1
107 User group ops 101 1
111 Group all ops 100 1
112 Group add 111 1
113 Group edit 111 1
114 Group delete 111 1
115 Group view 111 1
131 Permission all ops 100 1
132 Permission add 131 1
133 Permission edit 131 1
134 Permission delete 131 1
135 Permission view 131 1
Öncelikle tüm işlemler için burada birer kayıt açıyorum. Elbette bir User tablom var. Bu iki tabloyu birleştiren bir UserPermission tablosu oluşturuyorum. Bu tablo sadece UserId ve PermissionId kolonlarından ibaret. Kullanıcıya hangi hakkı vereceksem burada o kombinasyonu ekliyorum, hakkı kaldırmak için siliyorum.
Permission tablosundan gördüğünüz gibi bir de ParentId kolonu var. Bu bana bir kullanıcıya tek bir hak vererek onun alt erişim haklarını da tanımayı sağlıyor... Ayrıca benim kullandığım fazladan bir de Group tablom var. Buradan kullanıcıları bu gruplara bağlayarak bir gruba hak verdiğimde bu grupta yer alan tüm kullanıcılara da hak vermiş oluyorum. Bu sistemi tam olarak kullandığım bir Örnek program'a erişip inceleyebilirsiniz. Program biraz karmaşık gelebilir (çünkü basit bir ORM oluşturmaya çalıştım, her tablo için birer Entity class var ve bunları kullanıyorum), bu durumda yaptığım açıklamalardan kendiniz oluşturmanız lazım.
Aslında lisanslama mantığım var yani kurulumdan sonra her bilgisayar için lisansla yapıyorum ve her defasında değişmiyor sadece o bilgisayar için kalıcı kalıyor başka bilgisayara kurarsa o zaman değişiyor buradan yola çıkarak nasıl bir mantık yürütebilirim?
Yorumları: 152
Konuları: 3
Kayıt Tarihi: 22-10-2018
Aktif Kullandığınız Delphi Sürümü:
- Delphi 10.2
- Delphi 10.1
- Delphi 7
- Lazarus / FPC
Rep Puanı: 1.130 Programcı
13-02-2021, Saat: 17:28
(Son Düzenleme: 13-02-2021, Saat: 17:29, Düzenleyen: mustafaozpinar.)
Lisanslama derken neyi kastediyorsunuz anlamadım. Bulut üzerinde verileri sizin sunucunuzda tuttuğunuz, yazılım yükleterek hizmet mi satıyorsunuz, yoksa müşterinin kendi sunucularına kurulan bir SQL sunucuya tüm kullanıcılar mı bağlanıyor.
Bulutta da olsa sattığınız hizmet eğer kurumsalsa, yani, bir kurum kendisine bir firma açıp kendi kullanıcılarını da buna bağlayıp veri girmesini ve görmesini sağlıyorsa, lokalde tutulan sunucu mantığıyla benzerdir. Bu durumda da yine aynı sistemi kullanmanız gerekir. Sonuçta bulutta da olsa, her cihaz bir isimle bağlanacak sunucunuza.
Ancak şunu da belirtmem gerekir ki, her bilgisayar için lisanslama Authentication demektir, Authorization farklıdır. Lisanslanmış bir bilgisayar programa girebilir, ancak programın her kısmına girmesi engellenmek istenebilir. Bu authorization ile sağlanır.
Bununla birlikte, eğer yazılımınız kişiselse, örneğin kişisel aktivite yönetimi vs., ya da oyunlar gibi, bu durumda ancak level yönetimi, ya da kullanıcının satın aldığı hizmete göre giriş yapabilmesini sağlamanız gerekir.
Yorumları: 211
Konuları: 39
Kayıt Tarihi: 16-12-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 62 Başlangıç
(13-02-2021, Saat: 17:28)mustafaozpinar Adlı Kullanıcıdan Alıntı: Lisanslama derken neyi kastediyorsunuz anlamadım. Bulut üzerinde verileri sizin sunucunuzda tuttuğunuz, yazılım yükleterek hizmet mi satıyorsunuz, yoksa müşterinin kendi sunucularına kurulan bir SQL sunucuya tüm kullanıcılar mı bağlanıyor.
Bulutta da olsa sattığınız hizmet eğer kurumsalsa, yani, bir kurum kendisine bir firma açıp kendi kullanıcılarını da buna bağlayıp veri girmesini ve görmesini sağlıyorsa, lokalde tutulan sunucu mantığıyla benzerdir. Bu durumda da yine aynı sistemi kullanmanız gerekir. Sonuçta bulutta da olsa, her cihaz bir isimle bağlanacak sunucunuza.
Ancak şunu da belirtmem gerekir ki, her bilgisayar için lisanslama Authentication demektir, Authorization farklıdır. Lisanslanmış bir bilgisayar programa girebilir, ancak programın her kısmına girmesi engellenmek istenebilir. Bu authorization ile sağlanır.
Bununla birlikte, eğer yazılımınız kişiselse, örneğin kişisel aktivite yönetimi vs., ya da oyunlar gibi, bu durumda ancak level yönetimi, ya da kullanıcının satın aldığı hizmete göre giriş yapabilmesini sağlamanız gerekir.
Lisanslama şöyle bir bilgisayar için kurulum yapıyorum sonra program ilk etap da demo sonrasında programın ilk girişinde lisansla diye button var ve bir anahtar ekrana geliyor o anahtara karşılık da bir seri üretiyor onu girince program lisanslanıyor. Bu Lisans anahtarı kurulu bilgisayara özel kalıyor. Şunu düşündüm lisans anahtarı ve regıstry deki lisans anahtarı eşit ise şu modüller çalışacak. Fakat bunun kodlamasını nasıl yapabilirim?
Yorumları: 152
Konuları: 3
Kayıt Tarihi: 22-10-2018
Aktif Kullandığınız Delphi Sürümü:
- Delphi 10.2
- Delphi 10.1
- Delphi 7
- Lazarus / FPC
Rep Puanı: 1.130 Programcı
13-02-2021, Saat: 18:52
(Son Düzenleme: 13-02-2021, Saat: 23:34, Düzenleyen: mustafaozpinar.)
Tutbo Power'ın OnGuard adlı bir yazılımı vardı. Ona bir göz gezdirin. Büyük olasılıkla işinizi görecektir.
Orijinal OnGuard (XE8'e kadar)
Üzerinde düzeltmeler yapılmış OnGuardVCL (D10.xx)
Üzerinde düzeltmeler yapılmış OnGuard FMX (D10.xx)
Yorumları: 102
Konuları: 19
Kayıt Tarihi: 01-09-2019
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 73 Başlangıç
13-02-2021, Saat: 20:37
(Son Düzenleme: 13-02-2021, Saat: 20:38, Düzenleyen: Aktolgali.)
UserControl diye bir bileşen var her olay için ayrı ayrı yetkilendirme yapabiliyorsunuz. Ben uzun süredir kullanıyorum ve çok memnunum.
Hatta isterseniz profil oluşturup kullanıcılara profil üzerinden yetki verebiliyorsunuz.
Dosyalarınızı kendi bulutunuza yedekleyin. Yandex Disk
Eyvallah..
Yorumları: 223
Konuları: 19
Kayıt Tarihi: 10-08-2019
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 906 Acemi
(13-02-2021, Saat: 20:37)Aktolgali Adlı Kullanıcıdan Alıntı: UserControl diye bir bileşen var her olay için ayrı ayrı yetkilendirme yapabiliyorsunuz. Ben uzun süredir kullanıyorum ve çok memnunum.
Hatta isterseniz profil oluşturup kullanıcılara profil üzerinden yetki verebiliyorsunuz.
Bilseni nasil bulabiliriz acaba?
Yorumları: 102
Konuları: 19
Kayıt Tarihi: 01-09-2019
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 73 Başlangıç
(14-02-2021, Saat: 23:42)serdar Adlı Kullanıcıdan Alıntı: (13-02-2021, Saat: 20:37)Aktolgali Adlı Kullanıcıdan Alıntı: UserControl diye bir bileşen var her olay için ayrı ayrı yetkilendirme yapabiliyorsunuz. Ben uzun süredir kullanıyorum ve çok memnunum.
Hatta isterseniz profil oluşturup kullanıcılara profil üzerinden yetki verebiliyorsunuz.
Bilseni nasil bulabiliriz acaba?
https://sourceforge.net/projects/usercontrol/
Dosyalarınızı kendi bulutunuza yedekleyin. Yandex Disk
Eyvallah..
|