Как переопределить плагины паролей в модуле SecureSocial 2 с помощью play framework 2

Я пытаюсь переопределить валидатор пароля и хэшер пароля плагина securesocial для игры 2 в java, потому что мой процесс аутентификации не будет работать.. (на самом деле все кажется правильным, я не могу войти в систему с помощью хранилище хэшей паролей в моей базе данных)

Я уже расширяю passwordValidator, как это объясняется в документации (http://securesocial.ws/guide/password-plugins.html)

открытый класс BCryptPasswordHasher расширяет BasePasswordHasher {

public PasswordInfo doHash(String plainPassword){
    PasswordInfo pI = new PasswordInfo();
    pI.password = BCrypt.hashpw(plainPassword, BCrypt.gensalt());
    return pI;
}

public boolean doMatch(PasswordInfo passwordInfo, String suppliedPassword){
    return BCrypt.checkpw(suppliedPassword, passwordInfo.password);
}

}

Я получаю эту ошибку:

tools.BCryptPasswordHasher не является абстрактным и не переопределяет абстрактный метод doMatch(securesocial.core.java.PasswordInfo,java.lang.String) в securesocial.core.java.BasePasswordHasher

Знаете, как мне это удается?

Заранее спасибо за вашу помощь

PS: BasePasswordHasher

общедоступный абстрактный класс BasePasswordHasher реализует PasswordHasher { защищенное приложение Application;

public BasePasswordHasher(Application application) {
    this.application = application;
}

@Override
public securesocial.core.PasswordInfo hash(String plainPassword) {
     return doHash(plainPassword).toScala();
}

@Override
public boolean matches(securesocial.core.PasswordInfo passwordInfo, String suppliedPassword) {
    return doMatch(PasswordInfo.fromScala(passwordInfo), suppliedPassword);
}

/**
 * Hashes a password
 *
 * @param plainPassword the password to hash
 * @return a PasswordInfo containting the hashed password and optional salt
 */
abstract PasswordInfo doHash(String plainPassword);

/**
 * Checks whether a supplied password matches the hashed one
 *
 * @param passwordInfo the password retrieved from the backing store (by means of UserService)
 * @param suppliedPassword the password supplied by the user trying to log in
 * @return true if the password matches, false otherwise.
 */
abstract boolean doMatch(PasswordInfo passwordInfo, String suppliedPassword);

}


person cleau    schedule 03.01.2013    source источник
comment
Есть ли шанс, что вы импортируете неправильный объект PasswordInfo? Есть scala-объект PasswordInfo, вам нужно импортировать java-объект. Почему вы внедряете Bcrypt? Этот алгоритм уже включен в SecureSocial. Также проверьте последнюю версию, потому что Java API изменился.   -  person Jorge    schedule 05.01.2013
comment
Я отказался от идеи внедрения Bcrypt. Причина, по которой я пытался это сделать, заключалась в том, что я не могу правильно настроить процесс входа в систему. Я реализую HUserService.java. Я всегда получаю следующее сообщение: Введенные вами учетные данные недействительны.   -  person cleau    schedule 15.01.2013
comment
Сейчас работает с последней версией. Спасибо   -  person cleau    schedule 16.01.2013
comment
Привет, не могли бы вы помочь мне с этим: stackoverflow.com /вопросы/16124184/   -  person user237865    schedule 20.04.2013