Page tree
Skip to end of metadata
Go to start of metadata

Kayıt Bazlı Yetkilendirme Nasıl Yapılır ?

 

Giriş

Netigma'da kullanıcıların obje bazlı yetkilendirmesi yapılabilmektedir. 

Bir adım öteye gidip kullanıcının, objeye yetkisi olmasına rağmen ilgili tablodaki kayıtlardan belirli bir kurala göre bazılarını görmesi de sağlanabilir.

Bu işlem kayıt bazlı yetkilendirme olarak ifade edilir.

Netigma'da bu özellik, hem veri yazma, hem de veri okuma aşamalarında kullanılabilir.

Nasıl Yapılır

Veri Okurken Yetkilendirme

Bu işlem için, Obje Listesi (Meta) sayfasında, obje altındaki ekstra kriter alanı kullanılabilir.

Bu durumda, objeye ait tüm sorgular, bu ekstra kriter alanına girilen ifadeye göre filtrelenir.

 

Örnek:

Kullanıcının sadece kendi birimine ait Projeleri görmesi isteniyor diyelim. Bunun için; obje listesi sayfasında Projeler objesinin ekstra kriter alanına

ExtraSQL
BIRIMID = (SELECT BIRIMID FROM KULLANICI WHERE KODU = {USER} )

veya

BIRIMID = {DB@KULLANICI[KODU={USER}].BIRIMID}

ifadesi eklenir. Böylelikle, Proje bilgisi getirecek tüm sorgulara aktif kullancıya ait BIRIMID bilgisinin kısıtı eklenmiş olur.

Bu örnekteki önemli noktalar şunlardır:

  • Netigma'nın KULLANICI tablosuna erişimi vardır. (olmalıdır). Bu tablo esasen yetki sunucuya ait bir tablodur. Ancak Netigma'nın bağlı olduğu VT içinde tutuluyorsa, ya da Netigma'nın kullandığı VT kullanıcı tarafından erişilen bir şema içinde ise, bu tabloya erişebilir.
  • KULLANICI tablosuna BIRIMID kolonu sonradan eklenmiştir. Bu şekilde çözmek zorunlu olmamakla birlikte, KULLANICI'ları birimlerine göre yetkilendirmek isteniyorsa, VT'de bir şekilde KULLANICI ve birim arasında ilişki olmalıdır ki Netigma bu bağı kullanbilsin.

 

 

Bu özellik sorgu bazında da kullanılabilir.

Eğer objedeki tüm sorguların değil, sadece istenenlerin yetkilendirilmesi isteniyor ise sorgu altındaki ekstra kriter alanı kullanılmalıdır.

Veri Yazarken Yetkilendirme

Bu işlem için, Obje Listesi (Meta) sayfasında, obje altındaki yazma kriteri alanı kullanılabilir.

Bu durumda, objenin verisi eklenirken, silinirken ve güncellenirken, bu yazma kriteri alanına girilen ifadenin sonucuna göre yetkilendirilir.

Örnek:

Kullanıcının sadece kendi birimine ait Projelere veri yazabilsin isteniyor diyelim. Bunun için; obje listesi sayfasında Projeler objesinin yazma kriteri alanına

BIRIMID = {DB@KULLANICI[KODU={USER}].BIRIMID}

ifadesi eklenir. Böylelikle, Objenin verisi eklenirken, silinirken ve güncellenirken aktif kullancıya ait BIRIMID bilgisinin kısıtı eklenmiş olur.

Bu örnekteki önemli noktalar şunlardır:

  • Netigma'nın KULLANICI tablosuna erişimi vardır. (olmalıdır). Bu tablo esasen yetki sunucuya ait bir tablodur. Ancak Netigma'nın bağlı olduğu VT içinde tutuluyorsa, ya da Netigma'nın kullandığı VT kullanıcı tarafından erişilen bir şema içinde ise, bu tabloya erişebilir.
  • KULLANICI tablosuna BIRIMID kolonu sonradan eklenmiştir. Bu şekilde çözmek zorunlu olmamakla birlikte, KULLANICI'ları birimlerine göre yetkilendirmek isteniyorsa, VT'de bir şekilde KULLANICI ve birim arasında ilişki olmalıdır ki Netigma bu bağı kullanbilsin.

 

 

Ayrıca BKZ :

Obje Sorgusu - Ekstra Kriterleri