1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| public String loginAction(){
UsernamePasswordAuthenticationToken auth = new UsernamePasswordAuthenticationToken(login, password);
try{
Authentication authe = daoAuthenticationProvider.authenticate(auth);
SecurityContextImpl secureContext = new SecurityContextImpl();
secureContext.setAuthentication(authe);
SecurityContextHolder.setContext(secureContext);
} catch(AuthenticationServiceException e){
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Ce compte n'existe pas", e.getMessage()));
return null;
} catch(BadCredentialsException e){
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Mot de passe incorrect", e.getMessage()));
return null;
} catch(LockedException e){
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Votre compte a été bloqué. Contactez l'administrateur.", e.getMessage()));
return null;
} catch(DisabledException e){
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Votre compte n'a pas encore été activé", e.getMessage()));
return null;
}
return "loginAuthorized";
} |