로그인 고도화

airbus·2025년 2월 20일

프로그래머스

목록 보기
21/93

코드

// express
const express = require('express');
const app = express();
app.listen(7777);
app.use(express.json()) // 미들웨어
// map db
let db = new Map()
var id = 1; // 각각의 객체를 구별

// 로그인
app.post('/login', (req, res) => {
    console.log(req.body) // userId, pwd

    // userId가 db에 저장된 회원인지 확인해야
    const { userId, password } = req.body
    //var hasUserId = false
    var loginUser = {} // 중괄호만 있다 {} -> 비어있는 json // 로그인사용자

    db.forEach(function (user, id) {// 데이터(value)ex)한사람의 정보, 인덱스(key)-번호, 객체(Map)-전체
        if (user.userId === userId) {
            loginUser = user
        }
    })
 
    if (isExist(loginUser)) {
        console.log("아이디 일치")
        if (loginUser.password === password) {
            console.log("패스워드 일치")
        } else {
            console.log("패스워드 불일치")
        }

    } else {
        console.log("입력하신 아이디는 없는 아이디 입니다.")
    }
});

function isExist() {
    if (Object.keys(obj).length) {
        return true
    } else {
        return false
    }
}

req.body로 들어온 userId와, password값을 받아 저장하고
forEach문으로 user객체에서의 userId가 req.body로 받은 userId와 일치한지 비교하고
일치하다면 그 요소(객체)를 loginUser에 저장

이후 isExist 함수로 loginUser의 크기로 유무를 판단하여 아이디와 비밀번호 일치여부를 판단

0개의 댓글