Mag*_*gix 6 javascript passwords hook node.js sequelize.js
我有一个简单的用户模型如下:
'use strict';
let hashPassword = (user, options) => {
if (!user.changed('password')) { return; }
return require('bcrypt')
.hash(user.getDataValue('password'), 10)
.then(hash => user.setDataValue('password', hash));
};
module.exports = (sequelize, DataTypes) => {
const User = sequelize.define('User', {
username: {allowNull: false, type: DataTypes.STRING, unique: true},
email: {allowNull: false, type: DataTypes.STRING, unique: true},
password: {allowNull: false, type: DataTypes.STRING, unique: false},
}, {
hooks: {
beforeCreate: hashPassword,
beforeUpdate: hashPassword
}
});
return User;
};
Run Code Online (Sandbox Code Playgroud)
它在用户创建方面非常有效,但beforeUpdate钩子似乎不起作用或被调用,并且密码以纯文本形式保存在数据库中.
它来自何处以及如何修复?
| 归档时间: |
|
| 查看次数: |
643 次 |
| 最近记录: |