0

パスワードをリセットするとき、新しいパスワードは古いパスワードとは異なる必要があるという要件があります。これを、複数の Password オブジェクトを持つ User オブジェクトと、userId、password、および createdDate を含む Password オブジェクトとして設計することを考えています。

パスワードがリセットされると、ユーザーのすべての古いパスワード (最新のパスワードを除く) に対して新しいパスワードがチェックされ、一致が見つかった場合は破棄されます。

古いパスワードのリストにまだない場合は、ユーザーのパスワード リストに新しいエントリが作成されます。ユーザーがログインすると、システムは createdDate に基づいて最新のパスワードを確認する必要があります。

このデザインに関するあなたの考えを確認し、これを行うためのより良い方法があるかどうかを確認したかっただけです. ありがとう。

4

1 に答える 1

0

(最新のパスワードを除く)

なぜ最新のパスワードと照合しないのですか? 新しいパスワードを実際に保存する前に、この手順について言及したことに注意してください。そのため、すべての古いパスワードと照合する必要があります。

これは問題ないように思えますPasswordが、プロパティはプレーン テキストの実際のパスワードではなく、ソルト化およびハッシュ化されたパスワードである必要があります。

PBKDF2bcryptなどの標準 (強力で実績のある) アルゴリズムを選択する必要があります。

于 2014-07-29T09:07:04.147 に答える