2016-05-16 2 views
0

Я создаю приложение безопасности для весеннего ботинка.Как настроить весеннюю безопасность i18n с параметром

и в сети

${session[SPRING_SECURITY_LAST_EXCEPTION].message} 

в message.properties есть:

AbstractUserDetailsAuthenticationProvider.badCredentials={0} username and password not correct ! 

Как я могу конфиг вышеуказанных параметров {0}?

+0

Что вы подразумеваете под "config the above param {0}"? Зачем заменять '{0}' тем, что нужно в 'message.properties'? – miensol

+0

@miensol Я добавляю перехват попыток входа в систему. То есть, когда ошибка входа 10 раз, пользовательский ip будет заблокирован. '{0}' означает левое время сбоя. Так 'badCredentials = {0} имя пользователя' там –

ответ

1

AbstractUserDetailsAuthenticationProvider.badCredentials используется Spring (AbstractUserDetailsAuthenticationProvider) бросить BadCredentialsException с этим сообщением:

throw new BadCredentialsException(messages.getMessage(
       "AbstractUserDetailsAuthenticationProvider.badCredentials", 
       "Bad credentials")); 

Там нет никакого способа, чтобы обеспечить параметр конструктору исключения напрямую. Но ваша цель - показать неудачные попытки входа в систему - довольно легко достичь. Вы можете легко исправить логику отображения, чтобы отобразить счетчик попыток входа из сеанса рядом или вместо сообщения BadCredentialsException. Вероятно, это лучший подход, потому что вам нужны данные сеанса (счетчик неудачных попыток), недоступный в AuthenticationProvider, выбрасывающий исключение.

Смежные вопросы