4 글 보임 - 1 에서 4 까지 (총 4 중에서)
-
글쓴이글
-
2023년 11월 1일 11:45 #102626
이유진참가자login.ejs <section class="signin"> <h1>로그인</h1> <div class="signin__card"> <h2>ㅁㅁㅁ에 오신것을 환영합니다</h2> <form class="form" action="/login" method="POST"> <input name = "id" type="text"> <input name = "pw" type="password"> <button type="submit"> 로그인 </button> <p> * 정기적으로 비밀번호를 바꿔 안전하게 사용하세요! </p> </form> </div> </section> server.js
const express = require('express') const app = express() const passport = require('passport'); const LocalStrategy = require('passport-local').Strategy; const session = require('express-session');
app.use(express.static(__dirname + '/public')) app.set('view engine', 'ejs')
const { MongoClient } = require('mongodb')
let db const url = 'mongodb+srv://opera14379:qwer123@123123.zxl54js.mongodb.net/?retryWrites=true&w=majority' new MongoClient(url).connect().then((client)=>{ console.log('DB연결성공') db = client.db('forum') }).catch((err)=>{ console.log(err) })
// 로그인 기능 app.use(session({secret : '비밀코드', resave : true, saveUninitialized: false})); app.use(passport.initialize()); app.use(passport.session()); app.get('/login', (req, res) => { res.render('login.ejs') }) app.post('/login', passport.authenticate('local', { failureRedirect : '/fail' }) ,(요청, 응답) => { 응답.redirect('/') }) passport.use(new LocalStrategy({ usernameField: 'id', passwordField: 'pw', session: true, passReqToCallback: false, }, function (입력한아이디, 입력한비번, done) { console.log(입력한아이디, 입력한비번); db.collection('login').findOne({ id: 입력한아이디 }, function (에러, 결과) { if (에러) return done(에러) if (!결과) return done(null, false, { message: '존재하지않는 아이디요' }) if (입력한비번 == 결과.pw) { return done(null, 결과) } else { return done(null, false, { message: '비번틀렸어요' }) } }) })); passport.serializeUser(function (user, done) { console.log('serializeUser'); done(null, user.id) }); passport.deserializeUser(function (아이디, done) { done(null, {}) });
코드는 위 처럼 작성되어 있습니다 login.ejs에서 몽고db에 만든 데이터를 기입했을때 fail로만 넘어가 로그인이 되지 않습니다 무엇이 문제일까요
-
글쓴이글
4 글 보임 - 1 에서 4 까지 (총 4 중에서)
- 답변은 로그인 후 가능합니다.