php - codeigniter hook to check user is logged in -
i trying add validation hook (checking user/company active) , managed working fine tinkering...
i trying have been doing in each class > function (or __construct) , basic check user logged in using session data 'loginuser' set boolean...
i trying use keep getting too_many_redirects. it's same code use in either __construct or each public function , works there perfect (except changed non object)...
function logged_in() { $ci =& get_instance(); if(!$ci->session->userdata('loginuser')) { redirect('account/login'); } }
i @ loss why wont work in hook called 'post_controller_constructor'. overlooking simple have been going around in circles hours , google/so searchers giving nothing of use. basic thing too...
answer: playing @ home was:
function logged_in() { $ci =& get_instance(); if(!$ci->session->userdata('loginuser')) { if (uri_string() != 'account/login' && uri_string() != 'login' && uri_string() != 'account/register'){ $ci->session->set_flashdata('flasherror', 'please login continue'); redirect('account/login'); } } }
your code doing want, there's bit of oversight.
you need check if current route login page before kind of redirect.
i imagine when had check in controllers constructor before, didn't put in account controller.
if (user not logged in) { if (current route not login page) { redirect user login page } }
Comments
Post a Comment