로그인 했을때만 글쓰기 가능 만들기 -1
Session 방식 로그인 기능 만들기
npm install passport passport-local express-session
라이브러리 3개를 설치한다.
(npm install 다음에 라이브러리 명칭을 띄어쓰기로 나열하면 여러개를 동시에 설치할 수 있다.)
server.js에 다음의 코드 추가
//server.js
const passport = require('passport');
const LocalStrategy = require('passport-local').Strategy;
const session = require('express-session');
app.use(session({secret : '비밀코드', resave : true, saveUninitialized : false}));
app.use(passport.initialize());
app.use(passport.session());
그 다음 로그인 페이지 만들기
//login.ejs
<form action="/login" method="POST">
<div class="form-group">
<label>ID</label>
<input type="text" class="form-control" name="id">
</div>
<div class="form-group">
<label>Password</label>
<input type="password" class="form-control" name="pw">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
기존 write 페이지와 거의 비슷함
다음으로 server.js에 코드 추가
server.js
app.get('/login', function(request, response){
response.render('login.ejs');
});
app.post('/login', passport.authenticate('local', {
failureRedirect : '/fail'
}), function(request, response){
response.redirect('/'); //로그인이 성공했을 때
});
다음 포스팅에 내용 추가함
'WEB' 카테고리의 다른 글
Node.js로 웹서비스 만들기 20일차 (0) | 2023.03.15 |
---|---|
Node.js로 웹서비스 만들기 19일차 (0) | 2023.03.06 |
Node.js로 웹서비스 만들기 17일차 (0) | 2023.02.22 |
Node.js로 웹서비스 만들기 16일차 (0) | 2023.02.22 |
Node.js로 웹서비스 만들기 15일차 (0) | 2023.02.21 |