MVC’de (Data Annotation ile) Özel Yetkilendirme Sınıfı

c# logo

MVC ile çalışırken Data-Annotation olarak Authorize sınıfı bazen yetersiz kalabiliyor. Özellikle birden fazla rol tanımlaması yaptığınızda ya da komplex yapıda izin sistemi oluşturmanız gerektiğinde Authorize sınıfı yetmeyebiliyor. Microsoft, bu olayı core ile çözmüş olsa da (burada) standart mvc ile yapmak için aşağıdaki gibi basit bir sınıf ile MVC ile özel yetkilendirme sınıfı oluşturma sorunu çözülebiliyor.

Data-annotationlar methodların başına gelen köşeli parantez ile kullanılan yardımcı satırlar. Örneğin;

şeklinde kullanıldığında, index methodu çağırılmadan önce authorize sınıfı çağrılacak, eğer devam edilirse index çalışacaktır. Authorize sınıfı mvc ile gelen bir yetkilendirme sınıfı. FormsAuthentication ile kullanılıyor ve oturum açtığınızda bu sınıf true olarak dönüyor, açık değilse false olarak dönüyor ve sizi oturum açma sayfasına yönlendiriliyor(web.config’de tanımlı).

Fakat bu Authorize sınıfı sadece oturum açık mı değil mi onu kontrol ediyor, eğer “oturum açıksa ve dokuman silme yetkisi varsa” gibi bir senaryonuz varsa şu şekilde kendi data-annotation sınıfı gibi özel yetkilendrirme sınıfı oluşturabilirsiniz. Açıklamalar kodda:

Kullanımı ise şu şekilde:

Geliştirmesi size kalmış. AuthorizeCore sınıfını istediğiniz şekilde geliştirebilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir