2015-03-11 6 views
1

Я работаю над веб-приложением spring-mvc.Spring Security - Ошибка аутентификации - пустое сообщение

На моей странице входа в систему, если пользователь вводит плохие учетные данные, я хочу отобразить сообщение об ошибке.

Так что я попытался использовать весеннюю безопасность для отображения сообщения об ошибке, но я не могу отобразить какое-либо сообщение.

login.jsp

для формы входа Я сделал обязательным, как:

<form method="post" action="<c:url value='/j_spring_security_check' />" id="loginForm"> 
.... login ui 
</form> 

для отображения ошибки:

<c:if test="${not empty param.error}"> 
    <div> 
     <c:out value="${SPRING_SECURITY_LAST_EXCEPTION.message}"/> 
    </div> 
</c:if> 

безопасности context.xml

<form-login login-page="/login" default-target-url="/home" always-use-default-target="false" authentication-failure-url="/login?error=true" /> 

после включения всех этих параметров по-прежнему не удается отобразить сообщение об ошибке при плохих учетных данных.

Дайте мне знать, если вы хотите получить любую другую информацию.

PS: В кратчайшие сроки, полная конфигурация и приложение работают нормально. Пользователи могут войти в систему. Я расширил UserDetailsContextMapper, и в этом для анонимных пользователей я выбрасываю исключение UsernameNotFoundException

+1

Вы пытались сменить тест на '' – jny

+0

@jny: Я пробовал .. это пусто :( –

ответ

0

Наконец-то я выяснил проблему. Эти сообщения хранятся в сессии и на моей странице я продолжал:

<%@ page session="false"%> 

Я изменил его:

<%@ page session="true"%> 

и он начал работать. Еще одна хорошая информация, которую я получил, - это, если вы хотите показать свои сообщения об ошибках, очень просто переопределить эти сообщения. Для получения подробной информации см. Ссылку this.

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