사용자 작업을 위해 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);
}
}
내가 작업중인 레거시 코드에서 같은 문제가 발생했습니다. 당신이 한 일을 상세하게 설명 할 수 있습니까? 코드에서 $ _SESSION의 사용을 직접 제거 했습니까? – Strategist