본문 바로가기

Nodejs

[NODEJS 입문]8.(사용자 READ) welcome 및 로그인 페이지 작성

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. 로그인 끝!

반응형