CI 묻고 답하기

제목 코드이그나이터 로그인 세션
카테고리 CI 2, 3
글쓴이 호아세 작성시각 2017/01/25 09:39:51
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 18497   RSS

코드이그나이터 초보자입니다.

로그인 기능을 만들었습니다. 

일단 로그인은 되어서 메인페이지로 이동하고 있지만 정확 세션이 붙는지 확인을 어찌 해야할까요 ? 

1. echo나 이런걸로 찍어서 session_id값을 확인 하고싶습니다. 

2. 로그인이 되어서 메인페이지에 접속하게 되면 접속 메인페이지들의 URL을 긁어서 로그인하지 않았을 경우 URL로 접속하면 접속이 가능 한데 이걸 막기 위해서는 어떻게 처리를 해야할까요 ???  

 다음글 쿼리 결과가 전부 string으로.. (5)
 이전글 AWS EC2-window2012, codigniter... (1)

댓글

kaido / 2017/01/25 10:04:12 / 추천 0

http://www.ciboard.co.kr/user_guide/kr/libraries/sessions.html

세션 라이브러리 한번 확인해 보세요.

$this->output->enable_profiler(TRUE);

 

하시면 POST GET SESSEION  기타 등등 모두 확인 가능 합니다.

 

 

호아세 / 2017/01/25 10:35:22 / 추천 0
더 여쭙고 싶은게요 .... .아래같이 하면은 나오고,  if문을 구지 안 넣어도 당연히 나오겠죠 ? 
$this->session->userdata('logged_in') == true 했을때랑 상관없이 $this->session->userdata('ID')값이 나오게 되도 세션은 붙었다는건가요 ?? 

그리고 질문한 2번은 어떻게 제한을 두면 되나요 ? 로그인한 페이지들은 URL로 접속하게 되면 접속이 되는데요 .....

 

if($this->session->userdata('logged_in') == false){

        echo $this->session->userdata('ID');

}

kaido / 2017/01/25 10:55:40 / 추천 0
$this->session->userdata('logged_in') 

로그인 체크하기 위한 기능이 아닙니다.

logged_in 이나 a 이나 똑같습니다.

변수명이 login 체크 처럼 생겨서 처음 보는 분들이 많이들 착각 합니다만, 그냥 세션 변수 중 하나입니다.

즉 로그인 여부는 loggend_in  true false 하고는 아무 연관 없습니다.

id 가 나오면 로그인 된것 맞습니다.

호아세 / 2017/01/25 11:06:27 / 추천 0

아항 그렇군요 ~~ 

그러면 로그인해서 보여져야 할 페이지를 URL로 직접 접속하는 것을 막으려면 어찌해야하나요 ???

"로그인이 필요합니다 " 라는 alert을 띄워서 리턴되게 하는 조건문같은 것을 달아주어야 할까요 ???