CI 묻고 답하기

제목 로그인 할때 선택한 데이터베이스에 접근해서 아이디/비밀번호 체크
카테고리 CI 2, 3
글쓴이 경상도곰남 작성시각 2019/05/31 16:20:39
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 10561   RSS

로그인 할때 타입을 두어 해당 타입의 데이터베이스에 접근해서 로그인을 체크하려고 합니다.

예를 들어 로그인 화면에 아이디, 비밀번호, 데이터베이스 3개의 입력란이 있고

로그인 시 아이디, 비밀번호, 데이터베이스명을 입력하고 로그인 버튼을 클릭하면

데이터베이스명에 입력한 정보의 DB에 접속하여 아이디/비밀번호를 체크를 하려고 합니다.

가능할까요?

 

 

고수님들의 답변 부탁드립니다.

 

 다음글 CI 보안검수 질문 입니다. (1)
 이전글 코드이그나이터 세션이 유지가 안됩니다 (2)

댓글

엽토군 / 2019/05/31 17:49:00 / 추천 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;
}

 

변종원(웅파) / 2019/06/03 11:44:54 / 추천 0
사족을 붙이자면 데이터베이스명을 그대로 사용하지 마시고 소스에서 변환해서 사용하도록 하시기 바랍니다.