Nodejs - Login 기능 구현 (세션)

dev_swan·2022년 2월 8일
0

Nodejs

목록 보기
15/20
post-thumbnail

세션이란?

  • 정의
  1. 세션은 쿠키와 다르게 방문자의 요청에 따른 정보를 웹 서버가 세션 아이디 파일을 만들어 서비스가 돌아가고 있는 서버에 저장을 하는것을 말한다.
  2. 쿠키에 비해 보안도 높다.
  3. 하지만 서버에 저장하는 데이터가 많으면 과부하?가 걸릴수 있어 이럴경우 세션이 아닌 쿠키를 사용하여 데이터가 서버가 아닌 방문자의 컴퓨터에 저장되도록 하는것이다.
  • 용도
    ID저장 , 로그인 상태 유지

쿠키와 세션의 차이

  1. 쿠키는 방문자의 컴퓨터에 저장하고 세션은 웹 서버에 데이터를 저장한다.
  2. 쿠키에 비해 세션의 보안이 더 안정적이다.
  3. 세션에 데이터 용량 제한은 없지만 세션에만 데이터를 저장하면 용량이 커져서 과부하가 될수 있기 때문에 쿠키도 같이 사용 그렇다고 쿠키의 저장공간은 총 300개로 정해져있다.
  4. 세션에 비해 쿠키의 속도가 더 빠르다

Login 기능 구현

Js

Html

  • 메인페이지

  • 로그인 페이지

어제와 같이 user.js로 user의 내용을 미리 할당하고 홈페이지에 접속하여 로그인을 할 때 user.js의 할당해둔 userid와id ,userpw와pw가 일치하지 않으면 아이디와 패스워드가 일치하지 않는다는 알림을 내보내고 user의 userid와id , userpw와pw가 일치하면 로그인을 성공한다.
이때 서버에 privateKey를 생성/저장하는데 이것은 Math.random으로 서버가 저장할 쿠키이고 useritem은 user의 정보이다.
그럼 로그인을 성공하면 서버에 user의 정보와 privateKey를 저장하고 다시 로그인할 때에는 각 유저마다 다른 privateKey를 가지고 구분할 수 있게된다.

  • 로그인하였을때 서버에서 저장한 세션

0개의 댓글