Почему RememberMeAuthenticationFilter не перенаправляет на запрошенный URL-адрес? - PullRequest
0 голосов
/ 24 апреля 2020

Я новичок в Spring Security и прошу прощения за мой Engli sh.
У меня есть памятка cookme ie, и когда запрос приходит к фильтру RememberMeAuthenticationFilter - он выполняет аутентификацию, прерывает следующий обрабатывает и немедленно возвращает пользователю только 200 статусов с defaultUrl, что-то вроде

{"redirectTo": "/", "success": true, "username": "userName", "role": [listOfRoles]}

здесь

public RememberMeAuthenticationFilter(AuthenticationManager authenticationManager,
        RememberMeServices rememberMeServices) {

   public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
        throws IOException, ServletException {
    ...
    if (successHandler != null) {   // <<<<<<<<<<<<<<<<<In here the request breaks.
                            successHandler.onAuthenticationSuccess(request, response,
                                    rememberMeAuth);

                            return;
                        }
    ...
    chain.doFilter(request, response);
    }
}

Скажите, пожалуйста, как сделать следующее: запрос завершается, после успешной аутентификации с помощью Rememberme Cook ie цепочка фильтра сбрасывается .doFilter (запрос, ответ); А ведь фильтрует go методу контроллера, который запрашивает пользователь.

1 Ответ

0 голосов
/ 26 апреля 2020

Я найду решение, если кому-то интересно. Решение состояло в том, чтобы не вводить authenticationSuccessHandler в RememberMeAuthenticationFilter. Я переопределил bean-компонент RememberMeAuthenticationFilter (который по умолчанию определен внутри grails), а не вставлял authenticationSuccessHandler. И именно поэтому этот код не обрабатывается и go в chain.doFilter.

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