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.

Not : Aşağıdaki listede yer alan Application Global Access Rights ve Page Level Access Rights altındaki mapped global access right seçilmemiş erişim yetkileri proje deployment sırasında authorization servise yüklenmektedir. 



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.