2016-11-10 8 views
0

Я создал небольшое приложение в loopback, в котором я сохранял электронную почту пользователя и пароль, пароль в виде простого текста.Триггеры в Loopback

Теперь у нас есть запрос функции, чтобы сохранить пароль в некотором зашифрованном формате, скажем, Base64.

Так что я хочу, когда новый пользователь создал пароль для сохранения в зашифрованном формате, что легко, что мы можем сделать.

Но возникают проблемы, мы создали пользователей из разных разных кодовых мест, поэтому вместо обновления кода каждое место можно добавить в поле trigger на поле password, поэтому всякий раз, когда это поле обновляется, вызывается функция, который возьмет текст пароля и обновит его с зашифрованным форматом.

поэтому нам не нужно беспокоиться о написании кода.

Дайте мне знать, если вопрос непонятен.

Я ищу решение Loopback.

Сказал (а) спасибо

+1

** Внимание! Base64 НЕ шифрует! **, просто кодирование. Не храните такой пароль, потому что безопасность ваших пользователей будет скомпрометирована (вы фактически храните пароль в открытом виде). Вместо этого используйте bcrypt().LoopBack уже хранит пароли в зашифрованном виде, но если вам нужно хранить другие пароли, пожалуйста, сделайте некоторое исследование о том, как безопасно это сделать до его внедрения. – Acapulco

ответ

0

Когда-либо слышал о петлевых крюках.

https://loopback.io/doc/en/lb2/Operation-hooks.html

использовать before save крюк или after save крючок на модели, чтобы делать то, что вы хотите.

они есть пример, вы можете попробовать его

0

Если вы используете по умолчанию модели пользователя, пароль по умолчанию хранится в зашифрованном виде.

Если вы хотите использовать специальный триггер, который вы можете сделать, используя удаленные или рабочие крючки. Операция Крючок: https://loopback.io/doc/en/lb2/Operation-hooks.html Remote Крючок: https://loopback.io/doc/en/lb2/Remote-hooks.html

0

Пароль хранится в зашифрованном виде. Вы можете использовать рабочий крючок.

0

Отвечая на ваш вопрос в духе, а затем в письме. Триггеры - это функция уровня базы данных, где, поскольку loop back - это ваша инфраструктура сервера. Помните, что ваша лучшая возможность в loopback состоит в том, чтобы использовать перехватчики Operation, как ранее предлагаемые ответы.

Однако, если вы настаиваете на срабатывании триггера, вам необходимо использовать драйверы, поддерживаемые БД. В случае оракула есть nodejs-oracle и loopback-oracle connector. Если вы используете mongo, который, как я полагаю, вы делаете, тогда вы можете использовать mongodb oplog, который даст вам метод жизненного цикла, где вы можете подключить нужный код. Я бы не рекомендовал такие триггерные решения. Непонятно, из вашего вопроса, что означает разные местоположения кода. Я предполагаю, что это разные части вашего приложения, которые могут не быть loopback. В этом случае, помещая запись в очередь и обрабатывая ее через процессор, будет вашим лучшим ставка, если вы можете решить проблему множественного происхождения.