login처리
app.js
로그인 관련 라우팅 처리
app.get('/login',user.loginForm)
app.post('/login',user.loginEnd)
app.get('/logout', user.logOut);
members.js
post방식으로 했을시 loginEnd 실행
exports.loginEnd=function(req,res){
//사용자가 입력한 값
var uid=req.body.userid;
var upw=req.body.pwd;
var data={userid:uid,pwd:upw}
//res.json(data);
userdb.loginCheck(data,req,res);
}
db 로그인 체크
session생성
//로그인 처리
exports.loginCheck=(data,req,res)=>{
db.getConnection(dbconfig,function(err,con){
if(err) throw err;
var sql="select * from node_member where userid=:userid and pwd=:pwd";
con.execute(sql,data,function(err,result){
if(err) throw err;
con.close(function(err){
if(err) throw err;
//console.dir(result);
var obj={};
if(result.rows.length==0){
//아이디와 비번이 틀린 경우
obj.loginUser=null;
obj.isLogin=false;
}else{
//회원이 맞다면 obj.loginUser에 회원 정보를 저장하자.
obj.isLogin=true;
var userData=result.rows;
var tmpUser={
num:userData[0][0],
name:userData[0][1],
userid:userData[0][2],
email:userData[0][4]
}
obj.loginUser=tmpUser;
}
//세션에 obj를 저장
//콜백함수를 이용하여 저장이 완료된 이후 페이지 이동하도록 처리한다.
req.session.loginData=obj;
req.session.save(function(err){
if(err) throw err;
res.render('user/loginResult', req.session.loginData);
//res.redirect('/');
})
})//close() end---
})//execute() end---------------
})//getConnection() end--------------
}
로그인 결과 처리
<%
console.log(typeof isLogin);
if(!isLogin){
%>
<script>
alert('아이디 또는 비밀번호가 일치하지 않아요');
history.back();
</script>
<%
}else{
%>
<script>
//alert('<%=loginUser.name%>님 환영합니다.');
location.href='/';
</script>
<%
}
%>
'개발자 > 국비지원 SW' 카테고리의 다른 글
국비지원 92일차 - NodeJS socket기능, mychat 방생성 (0) | 2020.08.25 |
---|---|
국비지원 91일차 - Spring 흐름도, shop만들기 환경설정, POJO객체, Controller에 Service 생성하고 주입 MyBatis 작동 확인 (0) | 2020.08.24 |
국비지원 89일차 - Spring memo db연결 및 CRUD (0) | 2020.08.20 |
국비지원 88일차 - NodeJS 회원 삭제, 수정, id 중복 (0) | 2020.08.19 |
국비지원 87일차 - SpringMVC 환경 세팅, Bean properties파일 사용, config 생성에서 주입, annotation (0) | 2020.08.19 |