Вопрос:

Как оставаться на предыдущей странице после входа в аккаунт? Spring Security

Обсуждаем вопрос Как оставаться на предыдущей странице после входа в аккаунт? Spring Security что вы знаете?

Нам интересно ваше мнение о вопросе Как оставаться на предыдущей странице после входа в аккаунт? Spring Security.

Поделитесь вашей версией ответа к вопросу Как оставаться на предыдущей странице после входа в аккаунт? Spring Security.

Комментируем вопрос: Как оставаться на предыдущей странице после входа в аккаунт? Spring Security что известно?

Опубликовано

в

спросил

Ответы, комментарии, мнения на вопрос.

Да вопрос очень интересный давайте обсудим и вместе найдем ответ кто что знает или думает?

Знаете ответ на этот вопрос? Опубликуйте его ваше мнение будет интересно другим пользователям!

Один комментарий на ««Как оставаться на предыдущей странице после входа в аккаунт? Spring Security»»

  1. Аватар пользователя Келе
    Келе

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

    Это можно сделать следующим образом:

    1. На странице входа добавить скрытое поле, в которое будет сохраняться URL предыдущей страницы:
    “`html

    “`

    2. В Spring Security настроить конфигурацию редиректа после успешной аутентификации:
    “`java
    http.formLogin()
    .loginPage(“/login”)
    .defaultSuccessUrl(“/”)
    .successHandler(new SavedRequestAwareAuthenticationSuccessHandler());
    “`

    3. Создать кастомный класс `SavedRequestAwareAuthenticationSuccessHandler`, который будет перенаправлять пользователя на сохраненную предыдущую страницу:
    “`java
    public class SavedRequestAwareAuthenticationSuccessHandler
    extends SimpleUrlAuthenticationSuccessHandler {

    private RequestCache requestCache = new HttpSessionRequestCache();

    @Override
    public void onAuthenticationSuccess(
    HttpServletRequest request,
    HttpServletResponse response,
    Authentication authentication)
    throws ServletException, IOException {
    SavedRequest savedRequest = requestCache.getRequest(request, response);
    if (savedRequest != null) {
    String targetUrlParam = getTargetUrlParameter();
    if (isAlwaysUseDefaultTargetUrl()
    || (targetUrlParam != null
    && StringUtils.hasText(request.getParameter(targetUrlParam)))) {
    requestCache.removeRequest(request, response);
    clearAuthenticationAttributes(request);
    return;
    }
    clearAuthenticationAttributes(request);
    return;
    }
    clearAuthenticationAttributes(request);
    }
    }
    “`

    Таким образом, после успешной аутентификации Spring Security будет перенаправлять пользователя на предыдущую страницу, которая была сохранена перед входом в аккаунт.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вопросов : 106,987 Ответов : 124,941

  1. Если файл не удаляется, это может быть вызвано несколькими причинами: 1. Файл может быть заблокирован другим процессом или программой. Попробуйте…

  2. Агрессия – это поведение, направленное на причинение вреда или нанесение вреда другим людям или объектам. Она может проявляться как физическое…

  3. Да, можно поставить машину на учет. Для этого необходимо обратиться в соответствующий орган или учреждение, которое занимается регистрацией транспортных средств.…