Моя текущая реализация Spring Boot Login выглядит следующим образом:
login. html:
<div class="error-message m-l-4" th:if="${errorMessage}" th:text="${errorMessage}"></div>
WebSecurityConfigurerAdapter - метод настройки:
formLogin().failureUrl("/login-error")
RequestMapper :
@RequestMapping("/")
public class Root {
@GetMapping("login")
public ModelAndView getLoginView(ModelMap mav) {
return new ModelAndView("login", mav);
}
@GetMapping("login-error")
public RedirectView setErrorMessage(RedirectAttributes attributes) {
attributes.addFlashAttribute("errorMessage", "Username or Password is invalid");
return new RedirectView("login");
}
}
Вышеуказанное работает отлично, когда пользователь вводит недопустимые учетные данные, ошибка отображается на HTML. Однако есть ли способ достичь sh того же результата, но избавиться от лишнего каталога / ошибки входа? Я не хочу, чтобы он был доступен, несмотря на перенаправление на страницу входа с ошибкой. Я попытался перевести пользовательский AuthenticationFailureHandler (.failureHandler (new CustomAuthenticationFailureHandler ())), чтобы получить тот же эффект, но я могу вернуть только JSON, а не HTML. По сути, мне нужно точно такое же поведение, как и на странице входа в Instagram.
См. Страницы в порядке и при обновлении sh обратно на точную страницу как страницу 1:
Страница 4 - Нажмите Refre sh