CI 묻고 답하기

제목 tank_auth 세션 생성 질문 드립니다.
글쓴이 꾸숑 작성시각 2013/04/16 17:11:27
댓글 : 11 추천 : 0 스크랩 : 0 조회수 : 18449   RSS
저에게는 이상한 상황이 발생해서 질문 드립니다.
로컬에서는 tank_auth에서 email 포함 모두 세션이 생성됩니다.

서버에서 tank_auth에서 세션을 생성하면 다른건 다 되는데 유독 email 만 세션이 생성되지 않는군요..

머리가 터질것 같네요 ㅎㅎㅎ

도움 부탁 합니다.
태그 tank_auth,세션,email,꾸숑
 다음글 iframe으로 target하여 페이지 전달은 어떻게 ... (3)
 이전글 checkbox 값 배열로 받아온것 받는 방법. (6)

댓글

변종원(웅파) / 2013/04/16 17:27:27 / 추천 0
 이메일 세션이라는게 뭘 말씀하시는지 모르겠는데요? ^^
꾸숑 / 2013/04/16 17:33:54 / 추천 0

웅파//tank_auth 사용하는데요 로그인하면 세션을 생성하는데 email만 서버상에서 세션이 생성이 않되는군요
로컬에서는 이상없이 생성됩니다.

libraries/Tank_auth.php
 function login($login, $password, $remember, $login_by_username, $login_by_email)
 {
  if ((strlen($login) > 0) AND (strlen($password) > 0)) {

   // Which function to use to login (based on config)
   if ($login_by_username AND $login_by_email) {
    $get_user_func = 'get_user_by_login';
   } else if ($login_by_username) {
    $get_user_func = 'get_user_by_username';
   } else {
    $get_user_func = 'get_user_by_email';
   }

   if (!is_null($user = $this->ci->users->$get_user_func($login))) { // login ok

    // Does password match hash in database?
    $hasher = new PasswordHash(
      $this->ci->config->item('phpass_hash_strength', 'tank_auth'),
      $this->ci->config->item('phpass_hash_portable', 'tank_auth'));
    if ($hasher->CheckPassword($password, $user->password)) {  // password ok

     if ($user->banned == 1) {         // fail - banned
      $this->error = array('banned' => $user->ban_reason);

     } else {
      //세션 데이터 생성(user테이블 내용 생성)
      $this->ci->session->set_userdata(array(
        'user_id' => $user->id,
        'username' => $user->username,
        'kname' => $user->kname,
        'email'  => $user->email,
           'nickname' => $user->nickname,
           'level' => $user->level,
        'file1' => $user->file1,
        'status' => ($user->activated == 1) ? STATUS_ACTIVATED : STATUS_NOT_ACTIVATED,
      ));

      if ($user->activated == 0) {       // fail - not activated
       $this->error = array('not_activated' => '');

      } else {            // success
       if ($remember) {
        $this->create_autologin($user->id);
       }

       $this->clear_login_attempts($login);

       $this->ci->users->update_login_info(
         $user->id,
         $this->ci->config->item('login_record_ip', 'tank_auth'),
         $this->ci->config->item('login_record_time', 'tank_auth'));
       return TRUE;
      }
     }
    } else {              // fail - wrong password
     $this->increase_login_attempt($login);
     $this->error = array('password' => 'auth_incorrect_password');
    }
   } else {               // fail - wrong login
    $this->increase_login_attempt($login);
    $this->error = array('login' => 'auth_incorrect_login');
   }
  }
  return FALSE;
 }

 

변종원(웅파) / 2013/04/16 17:53:31 / 추천 0
'email'  => $user->email 
이게 빈값으로 나온다는 말씀이죠?

$user는 출력해보셨죠?
꾸숑 / 2013/04/16 17:59:38 / 추천 0
//웅파
방금 문제를 찾았습니다.
메일에 특수 문자가 포함 되어있어서 생성이 제대로 않되었네요
@ 가 문제 였습니다.

이걸 어떻게 처리 해야 할지...
다른 방법도 있지만...
이걸 해결하는게 제일 간단 명료 할텐데.. 간단하지가 않네요...
꾸숑 / 2013/04/16 18:17:44 / 추천 0
//웅파
해결했습니다.
진짜 고민하고 검색하고 질문 한것인데요..
이상하게 질문한 후에 해결 방법이 나오네요
진짜 감사하고 죄송해요....
해결방법은 너무 간단했네요 ㅜㅠ
몇달 묵은 문제 해결했네요 ~~

""  큰따옴표로 감싸니까 특수문자포함한 데이터가 세션 생성되네요..

$this->ci->session->set_userdata(array(
        'user_id' => $user->id,
        'username' => $user->username,
        'kname' => $user->kname,
        'email'  => "$user->email",
           'nickname' => $user->nickname,
           'level' => $user->level,
        'file1' => $user->file1,
        'status' => ($user->activated == 1) ? STATUS_ACTIVATED : STATUS_NOT_ACTIVATED,
변종원(웅파) / 2013/04/16 19:13:07 / 추천 0
흠. 이상하네요. 여태 @ 들어간 이메일을 세션으로 만들어서 썼어도 문제됐던 적이 한번도 없었는데... ^^
꾸숑 / 2013/04/17 08:53:57 / 추천 0
웅파//
서버를 sulinux를 사용하는데요 (https://www.sulinux.net/2.0/sulinux_about.php)
가끔 서버별로 설정이 다른지 이상현상?이 있더라고요
이번껀의 경우에도 로컬에서는 이상없던 것이 서버에서 문제가 발생해서 맨붕?이 된 경우네요 ㅋ

apmsetup7에서는 문제 없던것이 autoset에서 문제가 된경우도 있고요
예를 들면.. 타임존 문제라던지

여러개발환경에서 작업해보다 보니 적응력은 높아 지는데 스트레스가 가끔... ㅎㅎ
가면 갈수록 검색해서 처리되지 않는 문제가 많아지네요...
잔머리 지수만 높아 가는것 같고 ㅋ

오늘 3년 짝사랑 비슷한걸 한사람에게 고백 비슷한걸 하는날인데...
잘되어야 할텐데....

웅파님 오늘도 행복한 하루 되세요...
하늘치 / 2013/04/17 14:51:32 / 추천 0
꾸숑님//
화이팅입니다!!!
변종원(웅파) / 2013/04/17 14:56:17 / 추천 0
꾸숑/ 홧팅!!!!!!!!!! X 100000000000000000000000

su리눅스도 1.5버전까지는 사용했었는데 요즘은 범용적인 걸로 씁니다.
서버로는 주로 centOS를 씁니다.
한대승(불의회상) / 2013/04/17 16:28:13 / 추천 0
난 우분투!
그리고 화이팅입니다. ^^
꾸숑 / 2013/04/17 18:09:19 / 추천 0
응원 감사합니다.

그녀가 소주한잔 쏘겠다고 했는데..
과감하게 제가 거부 했습니다.^^
마음은 바로 OK하고 싶지만 전번 따놓았으니.... 뭐...

나이 10살 차이에 제가 현재 직업도 없는 상태라서 많이 꿀리네요 ㅋ

결국 저에게 올 여자는 오게 되어 있는게 아닐까요!