Хранить зашифрованный пароль, а не оригинальный пароль в mogodb в паруса 1.0 - PullRequest
0 голосов
/ 05 мая 2018

Я использую паруса 1.0 и я действительно новичок в парусах. Я использую mongodb в качестве базы данных, и соединение кажется довольно хорошим.

В настоящий момент я храню поля password и conPassword в моей базе данных, и поле encryptedPassword становится пустым. Мне просто интересно, как не хранить эти поля password и conPassword в базе данных и хранить вместо них encryptedPassword.

Я не упомянул password и conPassword внутри Attributes{....}. Я использовал customToJSON:function(){...}, чтобы не отображать поля password, conPassword и _csrf на веб-странице.

Любая помощь будет оценена. Спасибо.

конфиг / routes.js

module.exports.routes = {
  '/': {
    view: 'pages/homepage'
  },
  '/users/signup':{
    controller: 'Users',
    action: 'signup'
  },
  '/users/create':{
    controller:'Users',
    action:'create'
  }
};

апи / модели / users.js

module.exports = {

  attributes: {
    name:{
      type:'string',
      required:true
    },

    email:{
      type:'string',
      required:true
    },

    encryptedPassword:{
    type:'string'
    },

  },

  customToJSON: function(){
    return _.omit(this, ['password', 'conPassword','_csrf']);
  },

  datastore: 'mongodb',

};

апи / контроллеры / UsersControllers.js

module.exports = {

    signup:function(req,res){
        res.view('pages/signup');
    },

    create:function(req,res){
        var values = req.allParams();

        Users.create(values).exec(function(err,user){
            if(err){
                res.send(500, 'Database errror');
            }
            res.view('pages/create');
        });
    }
};
...