2016-10-27 6 views
0

私はSailsでAPIを開発していますが、今はエンティティからいくつかの変数を証券化する必要があります。これらの変数は、Adminまたは自分のユーザーからのみアクセスされます。セイルにエンティティを証券化する方法は?

私はこのような構造を持っている:私は、データベース内のこのフィールドの値を確認するために誰を避けるために、PHONENUMBERとaccountbankを暗号化する必要が

Employee (contains your employee records) 
fullName 
hourlyWage 
phoneNumber 
accountBank 

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

... 

を。所有者または管理者のみ。

どうすればいいですか?ありがとう

答えて

0

必要なアクセス権を持たないユーザーがデータを参照できないようにデータを暗号化する方法を探しています。

解決策はSails.js固有ではなく、ノードには実際にデータを暗号化するツール(https://nodejs.org/api/crypto.html)が付属しています。 ここで重要なルールは、常に秘密のパスワードを安全に保つことです。

Sails.jsアプリケーションとの統合に関しては、モデルでコールバックを使用します。公式ドキュメントはここに良い例を示しています:http://sailsjs.org/documentation/concepts/models-and-orm/lifecycle-callbacks 基本的には、レコードが作成、取得、更新されるたびに呼び出される関数を定義するだけです。暗号化/復号化機能をそこに適用することができます。 これにより、電話番号と銀行口座番号が自動的に暗号化/復号化されます。

アクセス制御に関して、Sails' policiesを認証と一緒に使用して、クライアントにリソースにアクセスする権利があるかどうかを判断できます。そうでない場合は、クライアントに返された応答から属性を削除できます。

関連する問題