• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Node.js, Express 게시판 로그인 시 "/" 로 redirect가 안됩니다.

로그인 시 "/" 로 redirect가 안됩니다.

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 글쓴이
  • #130293

    곽종범
    참가자
     

    선생님, 질문있습니다. 로그인 한 다음에 쿠키는 저장이 되는데
    "/" 로 이동하지 않고 계속 뱅글뱅글 로딩중으로 뜹니다. 이유를 모르겠습니다.

    server.js

    app.get("/login", async (요청, 응답) => {
    응답.render("login.ejs");
    });
    app.post("/login", async (요청, 응답, next) => {
    //유저가 보낸 아이디, 비번을 DB와 비교하는 코드가 실행된다.
    //error, 성공, 실패시 이유 순
    passport.authenticate("local", (error, user, info) => {
    if (error) return 응답.status(500).json(error);
    if (!user) return 응답.status(401).json(info.message);
    요청.logIn(user, (err) => {
    if (err) {
    console.log("Login Error: ", err);
    return next(err);
    }
    console.log("Login Success: ", user);
    //로그인이 완료됐을대 메인 페이지로!
    응답.redirect("/");
    });
    })(요청, 응답, next);
    });
    
    function checkLogin(요청, 응답, next) {
    console.log("checklogin", 요청.user);
    if (!요청.user) {
    응답.send("로그인하세요");
    }
    next();
    }
    
    app.get("/", checkLogin, (요청, 응답) => {
    응답.sendFile(__dirname + "/index.html");
    });
    
    login.ejs
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <link href="/main.css" rel="stylesheet" />
    </head>
    <body class="grey-bg">
     <%- include('nav.ejs') %>
    <form class="form-box" action="/login" method="POST">
    <h4>로그인</h4>
    <!-- passport 라이브러리 쓰면 name속성 맞춰야함 -->
    <input name="username" autocomplete="off" />
    <input name="password" type="password" autocomplete="off" />
    <button type="submit">전송</button>
    </form>
    </body>
    </html>
     CleanShot 2024-09-05 at 12.29.33
    
    
    이렇게 가장 왼쪽 상단처럼 로딩중이라는표시만 뜹니다.
    • 이 게시글은 곽종범에 의해 10 월, 1 주 전에 수정됐습니다.
    • 이 게시글은 곽종범에 의해 10 월, 1 주 전에 수정됐습니다.
    #130299

    codingapple
    키 마스터
    터미널에 이상한거 안뜨나 확인해보거나 app.get("/", checkLogin, 에서 checkLogin은 빼봅시다
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠