2021년 목표설정

이미지
기본적으로 작년에 달성하지 못한 것들을 하려고 생각중인데..코로나가 언제까지 이어질지, 한국이나 북해도는 갈 수 있을지..자격증은 응시 가능할지..여러가지가 불확실하다. 2021년은 무엇보다 정신적인 부분과 경제적인 부분에 중점을 두고 조금 더 치열하게 지내보고 싶다. 일본나이로도 30대 마지막 해, 이제 불혹에 접어드는 나이..복잡하지만 심플하게. 육체적목표 : 트라이에슬론 스탠다드 도전하기 정신적 : 자격증2개 도전 + 자체개발 서비스 론칭 가족적 : 가정의 평화를 유지하기 경제적 : 외식과 유흥비를 줄이고 부수입을 늘려서 결과적으로 저축하기 사회적 : 목표세미나를 포함해서 민단과 개인인맥의 활성화와 교류를 촉진하기

node.js 로 구현한 심플 로그인/로그아웃 예제 by 생활코딩

[실행화면]


[소스코드]
var express = require('express');
// 세션용 모듈
var session = require('express-session');
var bodyParser = require('body-parser');
var app = express();

app.use(bodyParser.urlencoded({extended:false}))

// 세션모듈의 설정
app.use(session({
secret: 'a98yhfi&o2u3bn0(rfuw-gvjoiah3@0945u23r#',
resave: false,
saveUninitialized: true
}));

app.get('/count', function(req, res){
if(req.session.count){
req.session.count++;
}
else{
req.session.count = 1;
}
res.send('count : ' + req.session.count);
});

// 사용자 페이지, 세션값 유무에 따라서 다른 메세지를 표시
app.get('/welcome', function(req, res){
if(req.session.displayName){
res.send(`
<h2>Hello, ${req.session.displayName} </h2>
<a href="/auth/logout">logout</a>
`);
} else {
res.send(`
<h2>Please login..</h2>
<a href="/auth/login">login</a>
`);
}
});

// 로그인 폼 페이지
app.get('/auth/login', function(req, res){
var output = `
<h1>Login</h1>
<form action="/auth/login" method="post" >
<p>
<input type="text" name="username" placeholder="username" />
</p>
<p>
<input type="password" name="password" placeholder="password" />
</p>
<input type="submit" />
</form>
`;
res.send(output);
});

// 로그아웃 처리 - 세션 삭제 후 리다이렉트
app.get('/auth/logout', function(req, res){
delete req.session.displayName;
res.redirect('/welcome');
});

// 로그인 처리 - 아이디와 패스워드 비교해서 일치하면 세션에 값을 부여하고 리다이렉트
app.post('/auth/login', function(req, res){
var user = {
username:'lovelydai',
password:'111111',
displayName:'woosokism'
};

var uname = req.body.username;
var pwd = req.body.password;
if(uname === user.username && pwd === user.password){
req.session.displayName = user.displayName;
res.redirect('/welcome');
} else {
res.send('Who are you? <a href="/auth/login">login</a>');
}

res.send(uname);
});

app.listen(3003, function(){
console.log('Connected 3003 port!!!');
});

댓글

이 블로그의 인기 게시물

[메모] PostgreSQL에서 Insert 하는 경우 자동채번 PK가 중복에러 나는 경우

[C# & LINQ] 랜덤으로 데이터를 한 개 추출하는 방법

[react-native] uuid 생성이 에러가 날 때 대처법