Login Logic
DATE : 2023/11/10
앞에서 공부한 식별 & 인증은 우리에게 익숙한 로그인 과정에 포함되는 개념이라 정의하였다.
그렇다는 건 로그인을 처리하는 방법은
식별 & 인증을 어떻게 조합하는 지에 따라 달라질 수 있다는 뜻이다!
[1] 식별 -> 인증
먼저 살펴볼 케이스는 식별이 이루어진 후 인증을 거치는 사례이다.
식별이라 함은 많은 데이터 중 특정 데이터만 찾아내는 과정이라 정의했다.
이 말을 SQL로 적어보자면 다음과 같을 것이다.
사용자 정보가 들어있는 user table에서 username이 yunsoo인 사람의 정보만 가져오라는 의미로
이때 username은 다른 사람과 자신을 구별할 수 있는 고유 값이어야 한다.
자! 이렇게 해서 yunsoo의 정보를 가져왔다고 해보자.
여기까지 진행되었다는 건, 수많은 사람의 데이터 중 yunsoo의 정보를 찾아내기만 한 것이다.
이제 username을 yunsoo라고 입력한 사람이 실제 당사자가 맞는 지 인증을 해야 한다.
위에서 실행한 query 결과를 $result 라고 할 때
이와 같이 username이 yunsoo인 record의 비밀번호와 사용자가 입력한 비밀번호가
일치하는 지 비교함으로써 로그인 승인 여부를 결정할 수 있다!
[2] 식별 & 인증
이번에 살펴볼 케이스는 식별과 인증을 동시에 진행하는 사례이다.
[1]에서는 사용자가 입력한 username이 존재하는 지 먼저 확인하고
password를 비교하는 과정을 실행했다.
이와 달리 [2]에서는 동일한 과정을 한 번에 처리한다. SQL로 표현하자면 다음과 같다.
WHERE 문을 보면 사용자가 입력한 username & password를 동시에 만족하는
record를 가져오라고 명령하고 있다.
위의 query가 실행되는 과정을 생각해보면
(1) username이 일치하는 회원 정보를 찾아(= 식별)
(2) 해당 회원 정보 중 비밀번호를 사용자가 입력한 비밀번호와 일치하는 지까지(= 인증)
확인한 후 결과를 반환한다.
(만약 username과 일치하는 정보를 찾았다고 해도 password가 일치하지 않으면 로그인을 할 수 없다.)
간단하게 2가지 방법으로 설계된 Login logic을 살펴보았다.
위에서 본 내용에 더불어 password를 HASH 처리하거나 개행이 어디에 들어가는 지에 따라서도
조금씩 다른 스타일의 로그인 과정을 만들 수 있다고 한다!!
Last updated