




Codeigniter Da Authentication Yaptım Olmuş Mu Bakar Mısınız?
-
aAsp.net mvc de ne yapıyorsam aynılarını codeigniter a uyarlamaya çalışıyorum.
system/core klasöründe bulunan Controller.php dosyasının içine aşağıdaki kodu ekledim
class CI_AuthController extends CI_Controller { function __construct() { parent::__construct(); session_start(); $isAuth = isset($_SESSION["login"]) ? $_SESSION["login"] : false; if(!$isAuth) { Header("Location:/anasayfa"); exit; } } }
Bundan sonra herkesin girmesini istemediğim controllerlarımı CI_AuthController dan türetiyorum. Bu kadar kod yeterli midir? Denedim çalışıyor acaba yinede yapılması gereken başka birşey var mı? Bu php nin object oriented kısmıda değişik biraz düzgün anlatan da bulamadım pek.
-
Ion auth ve flexi auth a bakabilirsin
-
Hannibal_King bunu yazdı
aAsp.net mvc de ne yapıyorsam aynılarını codeigniter a uyarlamaya çalışıyorum.
system/core klasöründe bulunan Controller.php dosyasının içine aşağıdaki kodu ekledim
class CI_AuthController extends CI_Controller { function __construct() { parent::__construct(); session_start(); $isAuth = isset($_SESSION["login"]) ? $_SESSION["login"] : false; if(!$isAuth) { Header("Location:/anasayfa"); exit; } } }
Bundan sonra herkesin girmesini istemediğim controllerlarımı CI_AuthController dan türetiyorum. Bu kadar kod yeterli midir? Denedim çalışıyor acaba yinede yapılması gereken başka birşey var mı? Bu php nin object oriented kısmıda değişik biraz düzgün anlatan da bulamadım pek.
Hocam tam hatirlamiyorum ama sanirsam MY_Controller.php dosyasi olsuturuyorsun. Orada extend edebilirisin orada mi yaptin ?
Birde nacizane tavsiyem eger yapabiliyorsan kesinlikle isini goren third libraryler kullan. Isini goremeyen bir sey varsa kendin yaz.
Ha ogrenmek icin diyorsan eyw.
Koduna gelecek olursak direkt $_SESSION kullanma madem CI kullaniyorsun
Session eklemek icin
$this->session->set_userdata($array);
Session okumak icin
$this->session->item
//VEYA
$this->session->userdata('item');olarak kutuphaneleri kullan SESSION icin https://www.codeigniter.com/user_guide/libraries/sessions.html#adding-session-data
Ayrica redirect icinde ayni sekilde kutuphane kullan
Guvenlik icin ben uzmani olmasamda token ve saire kullanman gerek.
-
-
@dhmm muride katiliyorum, kendine ait ve her controller icerisinden extend edecegin bir main controller icinde login kontrolunu yapmalisin. Genel olarak olarak My_Controller adinda bir controller olusturulur, burada constructor icerisinde login kontrolu yapilir. Bu controller dosyasi codeigniter in kendi CI_Controller dosyasini extend eder, boylece diger controller lar icerisinde My_Controller dosyasini extend ederek hem codeigniter in kendi controlleri extend edilmis olunur, hem de projeye ozgu ve her controller in yapmasi gereken fonksiyon ve islemler yapilmis olur.
admin paneline erisim icin login kontrolu zorunlu oldugundan ben genelde Admin_Controller dosyasi olustururum ve kontrolu burada yaparim.
duzenleme: yanlis okumusum, evet hocam dogru kodun. girilmesini istemedigin controller lar icerisinden bu controlleri extend etmen yeterli.
herlocksholmes tarafından 19/Tem/17 10:39 tarihinde düzenlenmiştir -
Teşekkürü unutmuşum yapılan her yorumu okuyorum teşekkürler ilginiz için. Şuan için yapıyı bu şekilde bıraktım. 3.parti bi kütüphane kullanmadım. Ama müridin yazdıgını inceledim bi ara deneyeceğim.