소수전공 4회차) mariaDB연동, 로그아웃, 세션 구현

2017. 12. 20. 20:00프로그래밍(주력)/JAVASCRIPT

app.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
const express = require('express');
const bodyParser = require('body-parser');
const expressSession = require('express-session');
const multer = require('multer');
 
const passport = require('passport');
const passport_local = require('./passport');
 
const app = express();
 
// 미들웨어 설정
 
app.use('/', express.static(__dirname + '/public'));
app.use(expressSession({ secret: '5unr1n' }));
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(passport.initialize());
app.use(passport.session());
passport_local();
 
// Route
app.use('/api/user', require('./routes/user'));
app.use('/api/post', require('./routes/post'));
 
 
 
app.get('*', (req, res) => {
    res.status(404).end();
});
 
app.listen(8081);
 
console.log("open 8081");
 

cs


userController.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
const model = {
    user: require('./userModel'),
};
 
exports.checkSession = (req, res) => {
  console.log(req.user);
  if(req.user) {
    res.send('SESSION CHECKED');
  }else {
    res.send('SESSION NT DEFINED');
  }
};
 
exports.login = (req, res) => {
    console.log("ASD");
    res.send(200, {
        success: true,
        message: 'Authentication success!',
    });
};
 
exports.logout = (req, res) => {
  if (req.user) {
     req.logout();
     console.log(req.user);
     res.send('SESSION DELETED');
  }else {
    res.send("SESSION NT DEFINED");
  }
 
}
 
cs


첨부파일 참고

sunrin_nodejs_2017.zip