我已經驗證使用代碼點火器成功的用戶,但現在如果用戶在一個路由類型在我的控制器的一個方法,他們可以無需登錄訪問。CodeIgniter用戶認證
我想停止對未登錄的用戶的訪問,最好不使用第三方用戶認證插件。
我有這個型號代碼:
function login(){
$data = array(
'username' => $this->input->post('username'),
'logged_in' => TRUE
);
$this->session->set_userdata($data);
} //function login()
function logged_in(){
if($this->session->userdata('logged_in') == TRUE)
{
return TRUE;
}
return FALSE;
} //function logged in()
我有這樣的控制器代碼:
function index($condition = FALSE){
if($this->admin_model->logged_in() === TRUE)
{
$this->books_page(TRUE);
}
else
{
$data = $this->style_model->admin_area();
$data['page_intro'] = 'Oops! Sorry, you must be logged in to view this page.';
$this->load->view('admin/not_logged_in', $data);
}
} //function index()
function books_page(){
$data = $this->style_model->admin_area();
$data['category_query'] = $this->admin_books_model->get_book_categories();
$data['page_title'] = 'Books';
$data['query'] = $this->admin_books_model->get_books();
$this->load->view('admin/books/books_admin', $data);
} //function books_page()
誰沒有登錄無法訪問書籍的方法,但任何其他方法,用戶在此之後,他們可以訪問,我只是想停止訪問並將錯誤頁面傳給他們,通知他們必須登錄。
由於提前, 湯姆
就像一個想法,你可能會考慮進入CodeIgniter的[TankAuth](http://konyukhov.com/soft/tank_auth/)。一旦你瞭解它,它非常安全,讓生活變得非常容易。 FWIW。 – David