2010-12-03 4 views
2

사용자 작업을 위해 codeigniter tank auth 라이브러리를 사용하고 있으며 잘 작동했습니다. 내가 어떤 컨트롤러에 액세스하려고 할 때마다, 기능 검사가 사용자는 다음과 같이 로그인 한 경우 :이 로그 인 경우Codeigniter tank auth - 사용자가 알려진 이유없이 로그 아웃했습니다.

if($this->tank_auth->is_logged_in()) { 

, 내가 모델을로드 할 수 있지만 경우에, 나는 로그인 페이지로 리디렉션을한다. 한 달 동안이 작업을 해왔지만 이제는 응용 프로그램을 확장하고 동일한 기술을 사용하는 다른 컨트롤러를 만들었지 만 파일은 다른 폴더에 있습니다. 이전 작업 응용 프로그램은 여전히 ​​작동하지만 새 폴더 에서이 응용 프로그램 (기본적으로 해당 응용 프로그램에 대한 새로운 모듈, 동일한 로그인 페이지를 사용하지만, 모듈의 사용자 선택에 따라 다르게 리디렉션) 나는 제대로 로그인 할 수, 나는 문제가없는 컨트롤러에 대한 모든 요청은 있지만 사용자가 로그인하지 않았다는 것을 알려줍니다. 세션이 만료되었거나 무언가가 아닙니다. 세션을 연장하고 3 초 후에 다음 세션을 연장 할 수 있습니다. 간격은 사용자가 로그 아웃되도록합니다 ... 나는 새 컨트롤러와는 전혀 다른 작업을 수행하지 않았지만, 잠시 후 가끔은 5 분이 소요되고, 때로는 15 분이 걸리며 로그 아웃합니다 ... 이유를 모르겠지만, 내 회의가 엉망이야? 나는 다른 것을위한 세션을 사용하지 않는다. ...

이것은 무엇에 관한 것이지? 아니면 어떤 제안? 요청 될 경우 세부 정보를 제공 할 수 있습니다.

대단히 감사합니다.

편집 : 새로운 모듈이 같은 CodeIgniter의의 소 instalation 더 컨트롤러에서 구성은, 동일한 CI 설정, 같은 탱크 인증 라이브러리와 함께 작동 및 기능은 다음과 같이 주요 요청 컨트롤러에 복사됩니다

class Requests extends Controller 
{ 
    function __construct() 

    { 
     parent::__construct(); 

     $this->load->helper(array('form', 'url')); 
     $this->load->helper('date'); 
     $this->load->library('form_validation'); 
     $this->load->library('tank_auth'); 
    } 

.............. 
more functions 
.............. 

    function getServices() { /// One of the functions that the new module uses 
      if (!$this->tank_auth->is_logged_in()) { 
       return; 
      } else { 
       $this->load->model('requests/getServices'); 
       $data['tid'] = $_POST['tid']; 
       $this->getServices->showData($data); 
      } 

     } 

답변

0

다른 앱에서 사용한 이미지 업로드 기능으로 내 세션이 엉망이었습니다. 나는 그 세션 줄을 지웠고 지금대로해야한다. 누군가가 궁금해하는 경우를 대비하여 세션 코드는 PHP native $ _SESSION 코드입니다.

감사합니다.

+0

내가 작업중인 레거시 코드에서 같은 문제가 발생했습니다. 당신이 한 일을 상세하게 설명 할 수 있습니까? 코드에서 $ _SESSION의 사용을 직접 제거 했습니까? – Strategist

2

쿠키가 사라지는 지연이 $ config [ 'time_to_update'] (기본값은 300 초)와 관련이 있다고 생각합니다.

세션 변수가 변경되지 않으면 쿠키는 5 분마다 업데이트 (재설정)됩니다. 따라서 쿠키가 응용 프로그램의 새 부분에서 볼 때 무효화 될 수 있지만 Session 클래스는 300 초가 경과 할 때까지이를 인식하지 못하고 그 시점에서 쿠키가 지워지고 사용자는 로그 아웃됩니다. .

새 코드의 위치에 대한 세부 정보를 제공 할 수 있습니까? 동일한 CodeIgniter 설치에 있습니까?

+0

추가 정보, 감사합니다. –

관련 문제