2017-11-28 7 views
0

私は現在、プロジェクトの概念モデルを作成しています。私のエンティティの1つがユーザーであることがあります。キーはuserIDで、プロパティにはfirstName、lastName、emailAdr、およびuserNameが含まれます。プロジェクトが実装された後、ユーザーはパスワードを持っています。私はそれをプロパティとして追加する必要があるのだろうか...それとも機密性を脅かすでしょうか?SQLの概念モデリング - パスワードはエンティティのプロパティですか?

答えて

1

概念的には、ユーザーのパスワードを保持してユーザーエンティティに格納するのが理にかなっている必要があります。

しかし、@stepioが指摘しているように、それをどのように実装するかを見ても、ハッシュ(実際は強力な安全なハッシュ)を保つことは、侵害されても公開されないように保存するための良い方法です。

たとえば、テーブルからエンティティをインスタンス化するORMを使用する場合、ハッシュについて懸念がありますが、実際のハッシュを別のテーブルに配置することがあります。そのユーザーのテーブルに参照を保持します。 Unixのシャドーパスワードのようなもの。

1

プレーンテキストの代わりにハッシュパスワードを保存することを検討してください。

認証を実装するには、ユーザーの入力をハッシュしてハッシュをチェックするだけです。