안녕하세요 로그인 관련해서 하나 궁금한게 있습니다.
자바스크립트와 node.js를 사용중입니다.
홈페이지 로그인창에서 로그인을 한후 서버에서 db값을 확인후 서버 세션에 회원정보(id, nick, level…)를 저장 하고있습니다. 그리고 클라이언트쪽에서 글쓰기, 로그인 되어있는지 등 확인이 필요하여 ajax를 사용하여 세션에 저장된 회원정보를 가져옵니다. 여러분들은 이 데이터를 어떻게 저장을 하여 사용하나요? 변수, 쿠키에 넣자니 개발자도구에서 쉽게 변경이 가능하고… 방법이 있을까요?
소스
app.post('/login', function(req, res) {
var check = req.body.check;
var randnum = req.body.randomnum;
var id = req.body.id;
var pass = crypto.createHash('sha512').update(req.body.password).digest('base64');
var ip = requestIp.getClientIp(req);
var ipcut = ip.indexOf('::ffff:');
var ipcu2 = ip.slice(ipcut + 7, ip.length);
var sql = 'SELECT * FROM member WHERE id="' + id + '" AND password="' + pass + '"';
var sql2 = 'UPDATE member SET ip_con = "' + ipcu2 + '" WHERE id = "' + id + '";';
conn.query(sql, function(err, rows, fields) {
if (rows.length >= 1) {
var autologin = false;
if (check === true) {
autologin = crypto.createHash('sha512').update(req.body.id).digest('base64') + randnum;
var sql5 = 'UPDATE member SET auto_login_t = "' + autologin + '" WHERE id = "' + id + '";';
conn.query(sql5, function(err, rows, fields) {});
}
req.session.ucheck = true;
req.session.uid = rows[0].id;
req.session.unick = rows[0].nick;
req.session.ulevel = rows[0].level;
req.session.uban = rows[0].ban;
res.json({
result: true,
enter: true,
auto_login: autologin
});
conn.query(sql2, function(err, rows2, fields) {});
} else {
res.json({
result: true,
enter: false
});
}
});
});
위 방법으로 서버 세션에 저장하고
res.json({
result: true,
enter: 'login',
check: req.session.ucheck,
id: req.session.uid,
nick: req.session.unick,
level: req.session.ulevel,
ban: req.session.uban,
darkmode: req.session.udarkmode
});
ajax로 json형태로 데이터를 가져옵니다.