我构建了一个spring boot安全应用程序。
并在网络中
${session[SPRING_SECURITY_LAST_EXCEPTION].message}
在message.properties中有:
AbstractUserDetailsAuthenticationProvider.badCredentials={0} username and password not correct !
如何配置上述参数 {0} ?
答案 0 :(得分:1)
Spring(AbstractUserDetailsAuthenticationProvider)使用AbstractUserDetailsAuthenticationProvider.badCredentials来抛出带有该消息的BadCredentialsException:
throw new BadCredentialsException(messages.getMessage(
"AbstractUserDetailsAuthenticationProvider.badCredentials",
"Bad credentials"));
无法直接为异常构造函数提供参数。但是你的目标 - 显示失败的登录尝试 - 很容易实现。您可以轻松修复显示逻辑,以显示登录尝试计数器旁边的会话,或者代替BadCredentialsException消息。这可能是最好的方法,因为您需要在AuthenticationProvider中抛出异常的会话数据(失败的尝试计数器)。