Çarşamba, 3 Aralık 2008

CodeIgniter'da Kullanıcıları Yetkilendirme II

 

Bir önceki yazımda Michael Wales'in hazırladığı kısa ve kullanışlı yetkilendirme kütüphanesi hakkında bilgi vermiştim. Bu yazımda da aynı kütüphanenin biraz daha geniş kullanımından bahsedeceğim.

Diyelim ki sitenizde sadece üyeler ve admin değil, "power user" diyebileceğimiz, yetkisi normal kullanıcıdan fazla ama adminden az kullanıcılar olsun. Ya da başka bir örnek olması için para ile sattığınız yetkiye sahip kullanıcılarınız olsun.

Sadece bu kullanıcılar için kendi "user" tablonuzda bir "rol" kolonu açmanız ve bu kolona uygun bir değer atamanız gereklidir. Diyelim ki normal kullanıcıların rol değeri "n", admin için rol değeri "a" ve power user kullanıcılarınız için rol değeri "p" olsun. Buna göre MY_Controller.php dosyasında yazmanız gereken fonksiyon:

class Poweruser_Controller extends Auth_Controller {
    function Poweruser_Controller() {
        parent::Auth_Controller();
        if (($this->data->user === FALSE) || (strpos($this->data->user->rol, 'p') === FALSE)) {
            redirect('error/poweruser');
            return;
        }
    }
} 

olacaktır. Power user'ların kullanımına izin vereceğiniz controller'ların başlangıcına da :

class Menu extends Poweruser_Controller {

 function Menu()
 {
  parent:: Poweruser_Controller();
  $this->load->library('validation');
 }

}

olarak başlamanız durumunda bir daha yetki kontrolü yapmanıza gerek kalmadan devam edebileceksiniz.

Yorumlar

Merhabalar.
öncelikle tebrik ediyorum, CI ile ilgili güzel dökümanlar yazıyorsunuz.
gerçekten faydalı şeyler.
ama benim beceriksizliğime ve acemiliğime verin,
şu  admin giriş / yetki  olayını bir türlü yapamadım.
rica etsem bununla ilgili örnek dosyaları da verebilir misiniz, giriş formu, panel sayfası vs. gibi .
lütfen....

Yorum Ekle