【问题标题】:How can I hash password every time it's changed in typeorm?每次在 typeorm 中更改密码时如何散列密码?
【发布时间】:2021-04-27 22:47:14
【问题描述】:

每次在 typeorm 中更改密码时,我都会尝试对密码进行哈希处理

@Column()
  password: string;

@BeforeInsert()
  async hashPassword() {
    this.password = await hash(this.password, 12);
  }

每次更改密码时,如何将 typeorm 中的 mongoose 的 isModified 功能复制到哈希密码:

if (this.password.isModified()) return next();
this.password = await hash(this.password, 12);

【问题讨论】:

    标签: node.js database mongoose typeorm bcrypt


    【解决方案1】:

    如果您的密码被修改,您需要在对象中设置要传递给存储库的保存方法。如果实体的 id 相同且某些属性发生更改,则 Save 方法会更新实体。所以你只需要在你的@Entity 中使用@BeforeUpdate

    @BeforeUpdate()
    private hashPassword(): void {
       this.password = myHashMethod(this.password);
    } 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-10
      • 1970-01-01
      • 2011-06-24
      • 2011-02-18
      • 2020-12-20
      • 2015-11-18
      • 2020-07-18
      • 2011-02-08
      相关资源
      最近更新 更多