|
Sayfalar İçindeki İşlevleri Korumak |
|
|
Güvenlik bileşeni; sadece sisteme girmek, çıkmak ve sayfaları korumaktan ibaret değildir. Sayfalar içine, oldukça detaylı ve buna rağmen kolay yönetilebilen kontrol noktaları yerleştirebiliriz. Sayfaların "Erişim Kontrolu" özelliklerini belirleyerek erişimi kısıtlayabileceğimizi biliyoruz. Ancak bu; kullanıcıların sayfalara erişmesini istiyor ama, sayfadaki tüm fonksiyonları kontrolsüzce kullanmasını istemiyorsak yeterli olmaz. İşte bir örnek: Projemizde, veritabanındaki mevcut siparişlerin listelendiği bir sayfa var olsun. Sadece "SIPARISLERI_GOREBILIR" adlı kontrol noktasına sahip olan kullanıcıların sayfayı görebilmelerini istiyoruz. Sayfa üzerinde sağlanan işlevlerden biri; listeden seçilen siparişlerin silinebilmesidir. Bu işlevin sayfayı görebilen tüm kullanıcılara açık olmasını istemiyoruz. Bu nedenlerle; bu işlevi "SIPARISLERI_SILEBILIR" kontrol noktası ile korumak istiyoruz. "Siparişler" Sayfasını Korumak "Siparişler" adlı sayfayı sadece "SIPARISLERI_GOREBILIR" kontrol noktasına sahip olan kullanıcıların görebilmelerini istiyoruz. Bunun için yapmamız gereken tek şey bu sayfanın "Erişim Kontrolu" özelliğinde aşağıdaki gibi bir tanım yapmaktır. SIPARISLERI_GOREBILIR,GirisSayfasi,HataSayfasi Eğer kullanıcı, sisteme giriş yapmış ancak; "SIPARISLERI_GOREBILIR" kontrol noktasına sahip değilse, kendisine 3. parametrede belirtilen hata sayfası gösterilecektir. 3. parametre verilmemiş ise bu durumda MoreMotion kendi hata sayfasını gösterecektir. "Siparişler" sayfasındaki "Seçilen Siparişleri Sil" İşlevini Korumak Sayfa üzerinde "Seçilen Siparişleri Sil" işlevi, bir komut düğmesi ile harekete geçirilmektedir. Amacımız; bu komut düğmesini sadece "SIPARISLERI_SILEBILIR" kontrol noktasına sahip olan kullanıcılara göstermektir. "mor_security_userinfo_??" Bileşen Veri Kaynağı Kullanıcı sisteme giriş yaptıktan sonra, güvenlik bileşeni içinde, kullanıcı ile ilgili tüm bilginin bulunduğu "mor_security_userinfo_??" adlı bir veri kaynağı hazırlar. '??' karakterlerinin olduğu yere güvenlik bölgesinin adı gelir.
Veri kaynağı adının sonunda güvenlik gölgesinin adı olan 'main' yer almaktadır. XML içindeki checkpoints düğümün alt düğümlerini kontrol ederek, sayfadaki dilediğimiz elemanı görünmez veya etkisiz hale getirebiliriz. Komut Düğmesini Görünmez Yapmak Aşağıdaki ifadeyi Komut Düğmesinin "Gösterme Koşulu" özelliğine girin. boolean(/mor_security_userinfo_main.checkpoints.SIPARISLERI_SILEBILIR)
Komut Düğmesini Etkisiz Hale Getirmek Aşağıdaki ifadeyi Komut Düğmesinin "İşlevsiz" özelliğine girin. $vof(not(boolean(/mor_security_userinfo_main.checkpoints.SIPARISLERI_SILEBILIR)))
|