2016-10-27 7 views
0

Я разрабатываю API с парусами, и теперь мне нужно сберечь некоторые переменные от объекта. Эти переменные будут доступны только от администратора или собственного пользователя.Как обеспечить защиту на парусах?

У меня есть структура вроде этого:

Employee (contains your employee records) 
fullName 
hourlyWage 
phoneNumber 
accountBank 

Location (contains a record for each location you operate) 
streetAddress 
city 
state 
zipcode 

... 

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

Как я могу это сделать? Спасибо

ответ

0

Вы ищете способ шифрования данных, чтобы люди, у которых нет необходимого права доступа, не могли его увидеть.

Решение для этого не является специфичным для Sails.js, а на самом деле узел имеет инструменты для шифрования данных: https://nodejs.org/api/crypto.html. Главное правило заключается в том, чтобы всегда хранить свой секретный пароль в безопасности.

Что касается интеграции в ваше приложение Sails.js, я бы использовал обратные вызовы в моделях. Официальная документация служит хорошим примером здесь: http://sailsjs.org/documentation/concepts/models-and-orm/lifecycle-callbacks В основном вы просто определяете функцию, которая будет вызываться каждый раз, когда запись будет создана, извлечена или обновлена. Затем вы можете использовать свои функции шифрования/дешифрования. Это автоматически зашифрует/расшифрует номера телефонов и номера банковских счетов.

Что касается контроля доступа, вы можете использовать Sails' policies вместе с аутентификацией, чтобы определить, имеет ли клиент право доступа к ресурсу. Если нет, вы всегда можете удалить атрибуты из ответа, отправленного обратно клиенту.

 Смежные вопросы

  • Нет связанных вопросов^_^