Yetkilendirme servisinde erişim kontrollerinin(Access Rights) LowCode seviyesinde uygulamasını sağlayan özellik setidir.
Authorization servis ile ilgili dokümantasyona 3 - Yetkilendirme Servisi (Authorization Service) linkinden erişilebilir.
1.Öncelikle istenilen model ve sayfalar oluşturulur.
2. Yetkiye bağlı çalışması istenen bileşenlerin ilgili Authorization özellikleri aktif hale getirilir.
Authorization altındaki yetkiler True seçildiğinde; o bileşen için yetki uygulanabilir olacağını belirtir.
3. Authorization (Yetki) özelliği aktif hale getirildikten sonra; bileşenlerin yetki değerlerinin tanımlanması için AppDefinition.adx dosyasında Application Access Right sekmesi açılır.
- Page Level Access Rights tablosunda otomatik olarak bileşenler ve her bir yetki için AccessRight tanımları oluşturulur. Bu tablonun "Local Test Value" kolonundan değer seçimi yaparak proje çalıştırılarak testler yapılabilir.
- Sistem tarafından oluşturulan yetki kodları yerine özel yetki kodları oluşturmak ve kullanılmak istenirse; Application Global Access Rights altında bulunan Add Access Right butonu kullanır.
- Local Test Value kolonundan istenilen test değeri verilebilir.
- Page Level Access Rights tablosunda bir bileşenin View-Delete vb yetkileri; Application Global Access Rights altındaki bir yetki ile Mapped Global Access Right kolonu kullanılarak eşleştirilebilir.
Yetkilendirme Detayları
- AllowView : Sayfanın görüntülenme yetkisi.
Tüm ldpf sayfaları için "Allow View" yetkisi ortak olarak desteklenmektedir.
AllowView : False olduğu durumda; sayfa içeriği görüntülenemeyecek ve bir uyarı mesajı gösterilecektir.
- Veri bağlantılı bileşenlerde (Bindpanel - Grid - DataList - Scheduler -Treeview - Autocomplete) ortak olarak AuthorizeView - AuthorizeDelete yetkileri bulunmaktadır.
AuthıorizeView : Bileşenin bağlı olduğu veri kaynağıdan(Source) gelen verilerin gösterim yetkisi
Bindpanel için LDBindPanel1_AuthorizeView : False olması durumunda çalışma zamanında aşağıdaki şekilde veriler görüntülenemez ve bir uyarı mesajı görünür.
Not : Görüntülenmesine izin verilmeyen veride değişiklik yapılması da tutarlı olmayacağı için; view yetkisi yok ise değişiklik yapmaya da izin verilmemektedir.
AuthorizeDelete : Veri kaynağı bağlantısı olan bir bileşen üzerinde silme işleminin bağlı olduğu yetki
Bindpanel için LDBindPanel1_AuthorizeDelete : False olması durumunda; çalışma zamanında delete işlemi tetiklendiğinde aşağıdaki şekilde uyarı gelmektedir.
- Bindpanel bileşeninde Authorize Save yetkisi bulunurken Grid - DataList - Scheduler -Treeview ve Autocomplete bileşenlerinde bunun yerine AuthorizeInsert ve AuthorizeUpdate yetkileri bulunmaktadır.
AuthorizeSave : Veri kaynağı bağlantısı olan bir bileşen üzerinde kaydetme işleminin bağlı olduğu yetki
Bindpanel için LDBindPanel1_AuthorizeSave : False olması durumunda; çalışma zamanında kaydetme işlemi tetiklendiğinde aşağıdaki şekilde uyarı gelmektedir.
AuthorizeInsert : Veri kaynağı bağlantısı olan bir bileşenin yeni kayıt ekleme işleminin bağlı olduğu yetki
AuthorizeUpdate : Veri kaynağı bağlantısı olan bir bileşenin var olan bir kaydı güncelleme işleminin bağlı olduğu yetki
Editörlerde Yetkilendirme
- TextEdit - NumericEdit - DateTimeEdit - PasswordEdit - MaskEdit - MemoEdit - CurrencyEdit - PercentEdit - Autocomplete gibi bileşenlerde ortak olarak AuthorizeEdit ve AuthorizeView yetki tanımları bulunmaktadır.
Yetkilendirme işlemleri önceden bahsedilen özelliklerle aynı şekilde gerçekleştirilir. - AuthorizeView : Bileşenin bağlı olduğu bindpanel vb bir bileşen varsa oradan gelen değer veya varsayılan değerin gösterim yetkisi
Örneğin; LDPDateTimeEdit1_AuthorizeView : True ve LDPDateTimeEdit1_AuthorizeView : False olması durumunda, veri kaynağından DateTime alana değer yüklenmeyecektir.
Not : Görüntülenmesine izin verilmeyen veride değişiklik yapılması da tutarlı olmayacağı için; view yetkisi yok ise değişiklik yapmaya da izin verilmemektedir. - AuthorizeEdit : Bileşenin değerinin değiştirilebilme yetkisi
Örneğin; LDPDateTimeEdit1_AuthorizeView : True ve LDPDateTimeEdit1_AuthorizeEdit : False olması durumunda; aşağıdaki şekilde veri görüntülenecek ancak değişiklik yapılamayacaktır.
Grid Kolonlarında Yetkilendirme
- Grid kolonlarındaki "Authorization" menüsü altından yetkilendirme kullanımı aktif hale getirilir.
- Name kolonu için; Edit yetkisi False seçildiği durumda (StudentGrid_LDPGrid1_Name_Edit) runtime'da aşağıdaki şekildeuyarı gelecektir.
- Name kolonu için; View yetkisi False seçildiği durumda (StudentGrid_LDPGrid1_Name_View) runtime'da aşağıdaki şekilde "Name" kolonu gösterilmeyecektir.
Name kolonu yetkiden dolayı gösterilmemektedir.