2013-07-16 2 views
0

코드 점화 컨트롤러의 생성자 기능에서 사용자 인증을 확인할 수 있습니까?코드 점화 기 컨트롤러의 컨트롤러에서 인증 된 사용자 확인

사용자 컨트롤러

class user extends CI_Controller{ 

function __construct() { 
    parent::__construct(); 

    $this -> load -> model('user_model'); 
    if (!$this -> user_model -> logged_in()) { 
     $this -> load -> view('user/login'); 

    } else { 
     return TRUE; 

    } 
    } 

} 

것은 내가 로그인 후 내 대시 보드이 내가 로그인있어보기 상단을 실행하는 동안. 로그인하기 전에 두 개의 로그인보기를 얻습니다. 내가 반복적으로 사용자 로그인 여부를 확인하는 최소화를 시도했다. 컨트롤러에서

if(!$this->session->userdata('logged_user')){ 
    redirect('controller/function', 'refresh'); 
} 

:

답변

-1

그냥 설정하거나하지 않을 경우 당신이 사용자의 세션 유효성을 검사 어디에 같은 간단한 세션 확인을

public function function(){ 
    $this->load->view('login'); 
} 
+0

이미이 방법을 따르고 있습니다. 하지만 각 기능의 컨트롤러에서 인증을 확인하고 싶지는 않습니다. 그것이 생성자의 컨트롤러에서 끝나면 반복되는 코딩을 줄일 수 있습니다. 컨트롤러의 생성자 기능에서 가능합니까? – hserusv

+0

그런 다음 가장 간단한 방법은'user_model'을 자동로드하고'$ this -> user_model -> logged_in()'함수를 아무런 조건없이 호출하는 것입니다.'logged_in()'함수에서 다른 함수로 리디렉션을 수행합니다. 단순히 로그인보기를로드하십시오. –

+0

컨트롤러 코드에 구문 오류가 있습니다. – catbadger

0

당신은 로그인 페이지를 표시하려면 밖으로 URL을 변경, 앞으로 방법을해야한다. 그러나 CI는 앞으로 나아갈 방법이 없습니다.

다음 답변을 확인하십시오. Internal forward action in CodeIgniter

관련 문제