Nodejs
[NODEJS 입문]8.(사용자 READ) welcome 및 로그인 페이지 작성
데브사냥
2018. 6. 11. 15:38
welcome 페이지를 만들자
route 설정 - 기본경로 app > router > user
./router/user/login.js [ welcome 설정]
var express = require('express');
var router = express.Router();
var path = require('path');
router.get('/user/welcome',(req,res)=>{
res.render(path.join('.','user','welcome'));
});
./app_user.js[root로 들어올 경우, /user/welcome으로 이동]
app.get('/',(req,res)=>{
res.redirect('/user/welcome');
})
welcome 페이지의 역할은 login 또는 register할 수 있도록 해주는 페이지.
[경로 : /views/welcome.pug]
doctype html
html
head
meta(charset='utf-8')
title welcome
body
h1 WELCOME! #{dispname}
div
a(href='/user/login') Login
div
a(href='/user/register') Register
1-1. Login 페이지 이동 및 로그인 처리[login.pug]
router.route('/user/login')
.get((req,res)=>{
res.render(path.join('.','user','login'));
})
1-2. views/user/login.pug
form(action="/user/login", method="post")
div
input(type='text' name='username' placeholder='username')
div
input(type='password' name='password' placeholder='password')
div
input(type='submit' value='Login')
2-1. submit시, /user/login post로 이동함.
2-2. 주의사항 [app_user.js]
post방식으로 body에 담겨있는 값을 전달 받기 위해서는 body-parser 미들웨어가 필요함.
app_user.js
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: false }));
2-3. 변수를 export하는 방법[로그인 처리를 위해서 userList라는 변수를 만든다.]
userList를 공유하기 위해서 exports하여 보관한다.
/router/user/userList.js
var userList= [
{
username :'root',
password : '1',
displayname :'root'
}
];
exports.userList = userList;
2-4. 로그인 처리를 위해서 userList라는 변수를 만들어 놓는다.
var userList = require('./userList').userList;
2-5. userList를 이용하여 조건처리
router.route('/user/login')
.post((req,res)=>{
var uname = req.body.username;
var passwd = req.body.password;
var user = userList.find((u)=>{
return (u.username===uname && u.password ===passwd);
})
if(user){
res.redirect('/user/welcome');
}
res.redirect('/user/login');
})
2-6. 로그인 끝!
반응형