CI 묻고 답하기

제목 관리자 페이지 로그인이 한번에 안되는 문제
카테고리 CI 2, 3
글쓴이 perfume 작성시각 2022/11/29 10:58:50
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 4979   RSS

CI 3.X를 쓰고 있습니다.

우선 config.php에서

uri_segment_admin 를 'admin'으로 설정해서 admin페이지는 별도의 디렉토리를 만들어서 접근하고 있습니다.그리고 hook에 checkLogin이라는 함수를 만들어서 세션을 확인하게 해서 세션이 없으면 관리자페이지 로그인 페이지로 이동되게 했습니다.

hook의 checkLogin함수는function checkLogin(){  $CI =& get_instance();  $CI->load->library('session');

    if( $CI->session->userdata('admin_id') ){      define('ADMIN_ID', $CI->session->userdata('admin_id'));    }else{      echo alert('로그인이 필요합니다.', '/admin');    }}이렇게 되어 있습니다.

 

로그인 프로세스를 설명드리자면,

관리자 페이지 접속시 로그인 뷰(views/admin/auth/login_v.php) 로 들어옵니다.여기에서 로그인하면 컨트롤(controllers/admin/auth/login) 로 이동되어 비번 체크한 후 $this->session->set_userdata($newdata); 이렇게 세션에 담습니다.그리고 redirect( '/admin/main/dashboard' ) 로 메인페이지로 이동되게 했는데문제는,처음 로그인하면 hook에 checkLogin함수에 걸려서 로그인이 필요하다고 alert창 뜨고 다시 로그인 페이지로 이동이 됩니다.그리고 다시 아이디/비번 입력하고 로그인하면 이때는 정상적으로 메인페이지로 이동이 되구요.이후에는 로그아웃하고 다시 로그인하면 이때는 한번에 로그인이 됩니다.일정시간이 지나서 로그인해보면 이게 계속 반복됩니다.

왜 저런지 알 수 있을까요?

 다음글 설치관련 및 controller 문의드립니다. (4)
 이전글 ci4 액티브 레코드 subquery union ... (3)

댓글

변종원(웅파) / 2022/12/13 08:37:47 / 추천 0
hook의 checkLogin 함수에서 로그를 남겨보세요. 접속할때마다 거기를 거쳐야 하는데 어떤 케이스에서 그쪽을 패스하는지 확인하면 디버깅을 하실 수 있습니다.