我在loopback
创建了一个小应用程序,其中我以简单文本的形式保存用户电子邮件和密码,密码。
现在我们有功能请求,以某种加密格式保存密码,比如Base64
。
所以我想要的是每当新用户以加密格式创建保存密码时,这很容易,我们可以做到。
但问题出现了,我们已经从许多不同的代码位置创建了用户,因此无需在每个地方更新代码,而是可以在trigger
字段上添加某种形式的password
,因此每当此字段获取时更新后,将调用一个函数,该函数将获取密码文本,并以加密格式更新。
所以我们不必担心每个地方编写代码。
如果问题不明确,请告诉我。
我正在寻找Loopback解决方案。
由于
答案 0 :(得分:1)
有没有听说过loopback Operation hooks?
https://loopback.io/doc/en/lb2/Operation-hooks.html
使用模型上的before save
挂钩或after save
挂钩来做你想做的事。
他们有一个例子,你可以尝试一下
答案 1 :(得分:0)
如果您使用默认用户模型,默认情况下密码以加密形式存储。
如果你想要自定义触发器,你可以使用远程或操作挂钩。 操作挂钩:https://loopback.io/doc/en/lb2/Operation-hooks.html 远程挂钩:https://loopback.io/doc/en/lb2/Remote-hooks.html
答案 2 :(得分:0)
密码以加密形式存储。你可以使用操作钩。
答案 3 :(得分:0)
在精神上然后在信中回答你的问题。 触发器是数据库级别的功能,其中循环返回是您的服务器框架。请注意,在循环中您最好的机会是使用操作挂钩,如之前建议的答案。
但是,如果您坚持触发,那么您需要使用数据库支持的驱动程序。在oracle的情况下有nodejs-oracle和loopback-oracle连接器。如果你使用mongo,我假设你这样做,那么你可以使用mongodb oplog,这将为你提供生命周期方法,你可以挂钩你想要的代码。出于性能原因,我不推荐这样的触发解决方案。 从你的问题不清楚不同的代码位置意味着什么。我认为它是你的应用程序的不同部分可能不是环回。在这种情况下,将一个条目放入队列并通过处理器处理它将是你最好的选择你可以解决多重原因的问题。