Boa tarde, Estou fazendo uma página de login customizada e gostaria de saber como faço para capturar e tratar as mensagens de erro do login.
@Controller
public class LoginController {
@RequestMapping(value = "/login", method = RequestMethod.GET)
public String loginForm() {
return "seguranca/login-form";
}
}
<%@ include file="../template/cabecalho.jsp" %>
<form:form servletRelativeAction="/login" method="POST">
<h1 class="text-center">Login</h1>
<div class="form-group">
<label for="username">Usuário</label>
<input id="username" class="form-control" type="text" name="username" />
</div>
<div class="form-group">
<label for="password">Senha</label>
<input id="password" class="form-control" type="password" name="password" />
</div>
<button class="btn btn-primary" type="submit">
<span class="glyphicon glyphicon-ok"></span>
Entrar
</button>
</form:form>
<%@ include file="../template/rodape.jsp" %>
Encontrei essa forma de fazer, mas a mensagem vem em inglês --> Bad credentials
<c:if test="${not empty sessionScope.SPRING_SECURITY_LAST_EXCEPTION}">
<div class="error">
Your login attempt was not successful, try again.<br />
Reason: ${sessionScope.SPRING_SECURITY_LAST_EXCEPTION.message}
</div>
</c:if>
No UsuarioDao, quando o usuário não é encontrado eu lanço a exceção abaixo, mesmo assim só chega Bad credentials: throw new UsernameNotFoundException("Usuário não encontrado.");