Node.js sequelize是否有用于标记化的拦截器模式&;对数据库中的敏感数据进行解密
我正在为postgres使用sequelize,需要对所选字段的表进行标记化,以便在存储之前和检索之后分别进行标记化和去标记化 我可以在单个位置执行此操作,而不是在每个模型的创建/更新/获取挂钩上执行此操作,是否有任何建议的最佳实践Node.js sequelize是否有用于标记化的拦截器模式&;对数据库中的敏感数据进行解密,node.js,sequelize.js,Node.js,Sequelize.js,我正在为postgres使用sequelize,需要对所选字段的表进行标记化,以便在存储之前和检索之后分别进行标记化和去标记化 我可以在单个位置执行此操作,而不是在每个模型的创建/更新/获取挂钩上执行此操作,是否有任何建议的最佳实践 我正在寻找一种类似于拦截器模式的东西,它可以在sequelize实例级别一次用于所有模型。可能吗 对于sequelize模型的属性,您正在寻找的功能听起来像是getter和setter。您可以使用自定义的getter和setter声明模型,如下所示 const Yo
我正在寻找一种类似于拦截器模式的东西,它可以在sequelize实例级别一次用于所有模型。可能吗 对于sequelize模型的属性,您正在寻找的功能听起来像是
getter
和setter
。您可以使用自定义的getter
和setter
声明模型,如下所示
const YourModel = sequelize.define("ModelName", {
secretData: {
type : //Data type
set(value) {
// do what ever processing you want to applied, which will be stored in db
this.setDataValue("secretData", PROCESSED_VALUE)
}
get() {
const storedValue = this.getDataValue("secretData")
// do whatever processing you want to applied, on storedData
return processedData
}
}
}
我想使用beforeQuery和afterQuery挂钩可能会有所帮助。。将检查并确认。beforeQuery和afterQuery都是在命中数据库之前执行的。db返回结果后,没有可供调用的钩子。。还是有一个?没有。如果它是一个模型级的,我会同意的。但我们需要它的所有型号。db返回记录后调用的钩子…@ubreddy-你能找到解决方案吗?