Spring security spring security thymeleaf LockedException自定义消息
我有一个用spring security保护的spring启动应用程序。 一切正常。但如果用户帐户被锁定,我如何将消息显示为帐户锁定,而不是无效的用户名和密码 我的登录表单Spring security spring security thymeleaf LockedException自定义消息,spring-security,spring-boot,thymeleaf,Spring Security,Spring Boot,Thymeleaf,我有一个用spring security保护的spring启动应用程序。 一切正常。但如果用户帐户被锁定,我如何将消息显示为帐户锁定,而不是无效的用户名和密码 我的登录表单 <div class="panel-body"> <div class="row text-center"> <div th:if="${param.error}">Invalid user name and password.</div> <div th
<div class="panel-body">
<div class="row text-center">
<div th:if="${param.error}">Invalid user name and password.</div>
<div th:if="${param.logout}">You have been logged out.</div>
</div>
<div class="row">
<form class="form-horizontal" role="form" th:action="@{/login}" method="post">
<div class="form-group">
<label class="col-md-4 control-label"> User Name </label>
<div class="col-md-6"><input type="text" name="username" />
</div>
</div>
<div class="form-group">
<label class="col-md-4 control-label"> Password </label>
<div class="col-md-6"><input type="password" name="password" />
</div>
</div>
<div class="form-group">
<div class="col-md-offset-4 col-md-6">
<input type="submit" value="Sign In" class="btn btn-primary" />
</div>
</div>
</form>
</div>
</div>
您需要从Spring security中提取失败的原因。下面的代码将起作用
原因:输入错误!
工作起来像个迷人的兄弟!
@Configuration
public static class FormLoginWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {
@Autowired
MyAuthenticationSuccessHandler myAuthenticationSuccessHandler;
@Override
public void configure(WebSecurity web) throws Exception {
String[] unsecuredResources = { "/css/**", "/js/**", "/img/**", "/fonts/**" };
web.ignoring().antMatchers(unsecuredResources);
}
@Override
protected void configure(HttpSecurity http) throws Exception {
String[] unSecuredUrls = { "login.html", "/login", "/home", "/appPwd.html", "/partials/pwdRequest.html" };
http.authorizeRequests().antMatchers(unSecuredUrls).permitAll();
http.authorizeRequests().anyRequest().authenticated().and().formLogin().loginPage("/login").defaultSuccessUrl("/", true)
.successHandler(myAuthenticationSuccessHandler)
/* .failureHandler(myAuthenticationFailureHandler) */.and().logout().permitAll();
}
}