Redirect:/ После авторизации Spring java

282
08 августа 2017, 14:24

На сайте система авторизации. Spring security. Запускаю сервер, ввожу логин и пароль и мне необходимо перейти на определенную страницу: "localhost:8080/forum/0" А меня перекидывает на на адрес: 'localhost:8080';

В config-security.xml я указал, что необходимо переходить по определенному адресу:

<http auto-config="true">
    <intercept-url pattern="/forum" access="hasAnyRole('ROLE_USER', 'ROLE_ADMIN')"/>
   <!--При запуске открывается /login потом должно /forum/0-->
    <form-login login-page="/login" default-target-url="/forum/0" authentication-failure-url="/login?error"
                username-parameter="username" password-parameter="password"/>
    <logout logout-success-url="/login?logout"/>
</http>

И вот что, первый раз отправляю данные логина и пароля на сервер, переходит по адресу: 'localhost:8080', ошибка 404, нажимаю назад, снова отправляю данные на сервер и тогда уже как надо переходит по адресу "localhost:8080/forum/0". Почему? Как сделать, что-бы сразу переходил по нужному адресу?

@Controller

  @RequestMapping(value = "/login", method = RequestMethod.GET)
public String login(Model model, String error, String logout) {
   //реализация
    return "login";
}
@RequestMapping(value = {"/forum/{id}"}, method = RequestMethod.GET)
public String forum(Model model, @PathVariable("id") int id) {
    //реализация
    return "forum";
}
Answer 1

Попробуйте:

<form-login login-page="/login"
        default-target-url="/forum/0"
        always-use-default-target="true"
        authentication-failure-url="/login?error"
        username-parameter="username"
        password-parameter="password"/>

Или 2й вариант - реализовать свой AuthenticationSuccessHandler, в котором будет редирект на нужную страницу - (пример)[http://www.baeldung.com/spring_redirect_after_login]

READ ALSO
Микросервисная архитектура Java

Микросервисная архитектура Java

Посредством чего или с помощью чего взаимодействует один микросервис с другим?

437
Библиотеки для работы с COM-портом

Библиотеки для работы с COM-портом

Нужно сделать примитивное общение с устройством через COM-портКакие есть вообще библиотеки для этого? Что ни нахожу в гугле - то пизанские...

336
Некорректный прием данных через COM-порт

Некорректный прием данных через COM-порт

Есть плата Adruino UnoС нее через Serial передаю в COM-порт данные( if(Serial

344
Как не потерять кэширование 1-го уровня Hibernate?

Как не потерять кэширование 1-го уровня Hibernate?

Кэш 1-го уровня у Hibernate храниться в сессии, и с ее закрытием теряются и все данные которые в нем былиВстает вопрос: как задизайнить свой DAO слой...

278