Проблема с отображением сообщения об ошибке на странице входа в Spring Security - PullRequest
1 голос
/ 17 ноября 2011

Я интегрировал Spring Security в свое приложение и хотел бы показать пользователю сообщение об ошибке в случае неверных учетных данных.

Я подключил все, чтобы отобразить сообщение, но оно не работает,Ниже приведены фрагменты кода

spring-security.xml

<form-login
            login-page="/spring/login"
            authentication-failure-url="/spring/login?error=true"               
            default-target-url="/spring/index"/>

<authentication-manager>
    <authentication-provider user-service-ref="customService">
    </authentication-provider>
</authentication-manager>

CustomService реализует UserDetailsService, а в методе loadUserByUsername я возвращаю объект Spring UserDetails, который содержитсведения о пользователе.

Мой контроллер выглядит следующим образом

@RequestMapping(value="/login", method = RequestMethod.POST)
    public String getLogin(@RequestParam(value="error", required=false) boolean error, 
            ModelMap model){

        if (error == true) {
            // Assign an error message
            model.put("error", "You have entered an invalid username or password!");
        } else {
            model.put("error", "");
        }


        return "loginpage";
    }

Моя страница входа содержит следующий div для отображения ошибки

<div id="login-error">
        <c:if test="${not empty param.error}">
            Your login attempt was not successful, try again.<br />
        </c:if>
</div>

Когда я ввожу неправильные учетные данные, он перенаправляется на страницу входа, но сообщение не отображается.

Пожалуйста, помогите и исправьте меня, если я делаю что-то не так.

1 Ответ

1 голос
/ 22 ноября 2011

Проблема решена.

Реальная причина того, что сообщение об ошибке не было нарисовано, заключалась в том, что ${not empty param.error} не обрабатывался.

Чтобы исправить эту проблему, изменил мой файл web.xml насоответствовать сервлету 2.5 спец.и это сработало как шарм.:)

Пожалуйста, обратитесь к моему сообщению об изменении спецификации сервлета v2.5

Проблема с оценкой $ {error} весной

Надеюсь, что этопомогает всем, кто может столкнуться с этой проблемой.

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