LoginSignup
1
0

More than 3 years have passed since last update.

パスワード変更機能

Posted at

Springでパスワード変更機能の実装
学習の記録用として記載

DBのパスワードと入力されたパスワードの照合

・パスワードはハッシュ化されたものが登録されている状態

※DBにハッシュ化(暗号化)してパスワードを保存⬇️

Service.java
@Autowired
PasswordEncoder;

public Entity save(Entity user, String rawPassword){

    String encodedPassword = passwordEncoder.encode(password);
    user.setPassword(encodedPassword);
    return Repository.save(user);
}

PasswordEncoderとは

Spring Securityが提供するクラスで、DBなどにログインパスワードを保存するときの暗号化に関わるクラス
・パスワードを暗号化(ハッシュ化)をする
・認証時に入力のパスワードと、保存した暗号化パスワードが一致するかを確認する
Spring Security 公式リファレンス

・入力したパスワードとDBに保存されているハッシュかされたパスワードが一致するかを照合する

Controller.java

//入力したパスワードとDBのハッシュ化されているパスワードの照合
if (passwordEncoder.matches(rawPass,dbPass)){
   //一致すれば画面遷移
   return "/index";
}

Image from Gyazo
Spring Security 公式リファレンス

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0