| 제목 | 로그인 할때 선택한 데이터베이스에 접근해서 아이디/비밀번호 체크 | ||
|---|---|---|---|
| 카테고리 | CI 2, 3 | ||
| 글쓴이 | 경상도곰남 | 작성시각 | 2019/05/31 16:20:39 | 
|  | |||
| 로그인 할때 타입을 두어 해당 타입의 데이터베이스에 접근해서 로그인을 체크하려고 합니다. 예를 들어 로그인 화면에 아이디, 비밀번호, 데이터베이스 3개의 입력란이 있고 로그인 시 아이디, 비밀번호, 데이터베이스명을 입력하고 로그인 버튼을 클릭하면 데이터베이스명에 입력한 정보의 DB에 접속하여 아이디/비밀번호를 체크를 하려고 합니다. 가능할까요? 
 
 고수님들의 답변 부탁드립니다. 
 | |||
| 다음글 | CI 보안검수 질문 입니다. (1) | ||
| 이전글 | 코드이그나이터 세션이 유지가 안됩니다 (2) | ||
| 
                                엽토군
                                /
                                2019/05/31 17:49:00 /
                                추천
                                0
                             | 
| 
                                변종원(웅파)
                                /
                                2019/06/03 11:44:54 /
                                추천
                                0
                             
                                사족을 붙이자면 데이터베이스명을 그대로 사용하지 마시고 소스에서 변환해서 사용하도록 하시기 바랍니다.
                             | 
커넥션 태우면 되지요...
public function login() { // 'database', 'userid', 'password' 3개가 넘어온다고 가정하겠습니다. extract($this->input->post()); // ↓ 이게 중요. config/database.php 에 설정이 제대로 다 들어있다고 가정합니다. $maybeThisDB = $this->load->database($database); // 그 다음부터는 알고 계시는 대로 하면 됩니다. 테스트 안해본 코드이니 참고만 하세요. $maybeThisDB->from('users'); $maybeThisDB->where('userid', $userid); if (!$maybeThisUser = $maybeThisDB->get()->row()) return false; if (!password_verify($password, $maybeThisUser->password)) return false; return $maybeThisUser; }