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. 로그인 끝!
반응형
'Nodejs' 카테고리의 다른 글
[NODEJS 입문]10. 세션을 이용한 로그인 정보 기억하기 & Logout 처리하기 (0) | 2018.06.11 |
---|---|
[NODEJS 입문]9.(사용자 CREATE) 사용자 등록하기 (0) | 2018.06.11 |
[NODEJS 입문]6. 정적파일 경로 지정 (0) | 2018.06.08 |
[NODEJS 입문]5. module.exports 와 path 모듈 (0) | 2018.06.08 |
[NODEJS 입문]4. app.js 생성 및 웹 APP 실행 'Hello Word!' (0) | 2018.06.08 |