как расширить LoginUrlAuthenticationEntryPoint или как реализовать AuthenticationEntryPoint

Я пытаюсь сделать следующее: Сделайте так, чтобы Spring Security добавлял возврат к URL-адресу в строке запроса для страницы входа , то есть: get spring to сообщить странице входа в систему, откуда я пришел. У меня есть некоторая интеграция с системой единого входа ... поэтому я отправлю им URL-адрес, или они добавят ссылку для меня, поэтому я знаю, что пользователь должен войти в систему и отправить его по адресу / some / url . Это все денди. Проблема, с которой я столкнулся, заключается в расширении LoginUrlAuthenticationEntryPoint (если вы не сообщите мне вескую причину для реализации AuthenticationEntryPoint ). Мне нужно только изменить запросы к странице входа в систему, например:

RedirectStrategy redirectStrategy = new DefaultRedirectStrategy();

// only append returnto to '/login' urls
if(request.getServletPath() == "/login") {
    // indicates we want to return to this page after login
    redirectStrategy.sendRedirect(request, response, "/login?returnto=" + request.getServletPath());
}

Как я могу позволить остальным запросам делать свое дело? Это неверно (то, что я только что делал):

RequestDispatcher dispatcher = request.getRequestDispatcher("/login");

// just forward the request
dispatcher.forward(request, response);

, потому что это помещает нас в цикл перенаправления. Однако, похоже, то, что весна делает в своей версии начало . Я запутался. Что я должен делать с start в моем настраиваемом расширении для LoginUrlAuthenticationEntryPoint ?

7
задан Community 23 May 2017 в 11:53
поделиться