Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var crypto = require('crypto');// 암호화를 위한 모듈
- var mongoose = require('mongoose'),
- User = mongoose.model('User');
- function hashPW(pwd){
- // 비밀번호 단방향 암호화
- return crypto.createHash('sha256').update(pwd).digest('base64').toString();
- }
- /* 회원가입 */
- exports.signup = function(req, res){
- console.log(req.body);
- // req.body.email = ''
- // req.body.password = ''
- // 새로운 사용자 등록
- var newUser = new User({ email: req.body.email });
- newUser.set('username', req.body.username);
- newUser.set('password', hashPW(req.body.password));
- User.findOne({ email: req.body.email }).exec(function(err, user) {
- if(err){
- req.session.regenerate(function(){
- req.session.msg = '서버 접속에 문제가 생겼습니다.';
- res.redirect('/login');
- });
- }
- else {
- if (user) {
- // 사용자 중복 검사
- req.session.regenerate(function(){
- req.session.msg = '해당 이메일과 일치하는 사용자가 존재합니다.';
- res.redirect('/signup');
- });
- }
- else {
- // 사용자 DB 에 저장
- newUser.save(function(err) {
- if (err) {
- req.session.regenerate(function(){
- req.session.msg = '서버 접속에 문제가 생겼습니다.';
- res.redirect('/login');
- });
- }
- else {
- req.session.user = newUser.id;
- req.session.username = newUser.email;
- req.session.msg = newUser.email + ' 의 계정으로 로그인되었습니다.';
- res.redirect('/');
- }
- });
- }
- }
- });
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement