2017-01-16 6 views
0

で再認証私はちょうど(コントローラ内の)マニュアル、ユーザー認証のためにGrailsの3 - springSecurityはパスワード

springSecurityService.reauthenticate(userid, password) 

を使用すると、関係なく、passwordの値、すなわち正しいパスワード、間違ったパスワードの成功ということに気づくために起こってきましたヌルパスワードなど

私に何かが不足していますか?
springSecurityServiceのメソッドの宣言は
void reauthenticate(String username, String password = null)
です。最初は、パスワードのチェックが済んでいると私は確信していました。

構成

  • のGrails 3.2.4
  • スプリングセキュリティプラグイン(コア)3.1.1

答えて

0

reauthenticate方法が電子メールで見つかったUserDetailsインスタンスと現在のセキュリティコンテキストを更新しますあなたはreauthenticateメソッドに提供します。内部コールであるため、検証は実行されません。また、ユーザーをユーザーキャッシュから削除して、次のログイン時に強制的に更新を強制します。

パスワードパラメータを渡さないと、UserDetailsインスタンスのパスワードを使用して、これらの詳細で認証コンテキストを設定します。

は、私はこのことができます願っていたコードhere

を見てください。

+0

うん、それは意味がある、ありがとう!どうやら、私は 'password'パラメータの目的を誤解していました。 私は 'org.springframework.security.crypto.password.PasswordEncoder.matches()'を使ってパスワードを別々に検証しました。 – ilPittiz