2016-10-11 9 views
0

SQLデータベースからpassword-hashを取得するクラスがあります。また、ユーザーからパスワードを取得する別のクラスがあります。 2つのクラスの間でパスワードを交換するにはどうすればいいですか?オブジェクトを使ったデータアクセスは、Javaのカプセル化に従っていますか?クラス間でExchange情報を交換する方法

+4

ここでは、質問に答えるために「安全」を定義する必要があります。 –

+0

私はすべてのユーザーがアプリケーションからパスワードにアクセスできないという意味で安全であることが必要です。 –

+0

ハッシュの場合は、パスワードを取得できません。しかし、どのようなユーザーの話をしているのですか?どんなアプリケーションですか?あなたは彼らが自分のマシンでアプリを動かすことができると思っていますか?そうであれば、彼らは記憶にあるものにアクセスすることができるでしょう。 –

答えて

1

理想的には、層にわたってパスワードを伝播してはならないとパスワードがDBにし、UIからサーバーの両方に暗号化され、ばねセキュリティ続くアプローチを使用する必要があります。参考のためにあなたがhttps://www.mkyong.com/spring-security/spring-security-password-hashing-example/

に従うことができますが、この機能を使用するために、バネのセキュリティを実装する必要がありますが、ちょうど同じ動作を実現するために、関連するクラスを使用しないでください。

1

あなたのクラスは、ユーザーからパスワードを取得し、それを適切な位置にハッシュするのが理想的です。

そして、それはそれをユーザーを検証するために、データベースと比較するためのハッシュを渡して、あなたのDAOクラスを呼び出すことができます。

パスワードを周囲に渡すことは貧弱です。

関連する問題