| 제목 | CI세션 안드로이드 웹뷰와 네이티브간의 공유 문제 해결 방법 있을까요? | ||
|---|---|---|---|
| 글쓴이 | 일용직노동자 | 작성시각 | 2014/10/27 21:38:08 | 
|  | |||
| 
   public function login(){
        
        //$androidData['result'] = array();
        $data['login_by_username'] = ($this->config->item('login_by_username', 'tank_auth') AND $this->config->item('use_username', 'tank_auth'));
        $data['login_by_email'] = $this->config->item('login_by_email', 'tank_auth');
        $this->form_validation->set_rules('login', '아이디', 'trim|required|xss_clean|min_length['.$this->config->item('username_min_length', 'tank_auth').']|max_length['.$this->config->item('username_max_length', 'tank_auth').']|alpha_dash');
        $this->form_validation->set_rules('password', '비밀번호', 'trim|required|xss_clean|min_length['.$this->config->item('password_min_length', 'tank_auth').']|max_length['.$this->config->item('password_max_length', 'tank_auth').']');
        $this->form_validation->set_rules('remember', '자동로그인', 'integer');
        if ($this->config->item('login_count_attempts', 'tank_auth') AND
                ($login = $this->input->post('login'))) {
            $login = $this->security->xss_clean($login);
        } else {
            $login = '';
        }
        $data['errors'] = array();
            if($this->form_validation->run() == TRUE){
                if($this->tank_auth->login(
                        $this->form_validation->set_value('login'),
                        $this->form_validation->set_value('password'),
                        $this->form_validation->set_value('remember'),
                        $data['login_by_username'], 
                        $data['login_by_email'])
                       ){   
                        $android_sess = $this->session->all_userdata();
                        $android_ret = array(
                            'result'      => 'success'
                            ,'msg'        => '로그인에 성공하셨습니다.'
                            ,'session_id' => $android_sess['session_id']
                            ,'userid'     => $android_sess['userid']
                            ,'username'   => $android_sess['username']
                            ,'status'     => $android_sess['status']
                            ,'phoneNum'   => $android_sess['phoneNum']
                            );
                        $this->output->set_header('Content-type: application/json');
                        echo json_encode($android_ret);            
                      } else {       
                        $android_ret = array(
                            'result' => 'failed'
                            ,'msg' => '아이디 및 비밀번호를 틀리셨습니다.' 
                            );       
                        $this->output->set_header('Content-type: application/json');
                        echo json_encode($android_ret);
                      }
                    //폼 검증 오류일경우 폼 검증에서 무엇이 잘못됬는지 json으로 출
                    } else { 
                        $android_ret = array(
                            'result' => 'error'
                            , 'msg' => '잘못된 접근입니다.'
                            ,'error_msg' => $data['errors']
                            );
                         $this->output->set_header('Content-type: application/json');
                         echo json_encode($android_ret);
                    }
        }
    }현재 android login api 부분입니다. 
 본론으로 넘어가 제일 지금 큰 문제가  | |||
| 다음글 | HMVC에 대해서.. (7) | ||
| 이전글 | 세션 문제때문에 질문드립니다... (9) | ||
| 
                                한대승(불의회상)
                                /
                                2014/10/28 08:18:50 /
                                추천
                                0
                             
                                세션을 DB로 전환해서 테스트 해보세요.
                             | 
| 
                                taegon
                                /
                                2014/10/28 18:24:16 /
                                추천
                                0
                             
                                쿠기를 가져와서 엑티비티를 전환하신 후 사용하시는 httpClient에 할당하셨나요? static으로 사용하는 클래스가 아니라면 httpClient에 다시 쿠기를 넣어주시거나 아니면 쿠키 메니저 연결하셔서 싱크를 하셔야 될겁니다. | 
| 
                                일용직노동자
                                /
                                2014/10/29 23:28:10 /
                                추천
                                0
                             한대승 // 죄송하지만 무슨 말씀인지 이해가 잘 안가네요 ㅠㅠ;; taegon // 답변 이제 봤네요 한번 해보겠습니다! | 
| 
                                한대승(불의회상)
                                /
                                2014/10/30 07:33:03 /
                                추천
                                0
                             
                                일용직노동자// 쿠키베이스 세션을 사용하고 있는것으로 착각했습니다. 다시 보니 이미 DB 베이스 세션을 사용하고 계시네요. |