Мне удалось успешно внедрить Spring Security в моем приложении, используя пользовательскую страницу входа. Однако я хочу, чтобы после успешного входа в систему, когда пользователь нажимал кнопку «Назад» в браузере по своему выбору, он не перенаправлял его обратно на страницу входа, а на домашнюю страницу.
Примечание:
Функция выхода из системы работает нормально, что, когда пользователь успешно выходит из системы, он будет перенаправлен на страницу успешного выхода из системы. Но когда он нажмет кнопку «Назад», он будет перенаправлен не на предыдущую страницу, а на страницу входа.
Вот код, отвечающий за мою конфигурацию входа в систему:
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable()
.authorizeRequests().antMatchers("/login").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login").permitAll()
.defaultSuccessUrl("/") //I tried adding this line hoping this could help, but to no avail...
.and()
.logout().invalidateHttpSession(true)
.clearAuthentication(true)
.logoutRequestMatcher(new AntPathRequestMatcher("/logout"))
.logoutSuccessUrl("/logout-success").permitAll();
}
А это мой главный контроллер:
@Controller
public class MainController {
@RequestMapping("/")
public String home() {
return "home.jsp";
}
@RequestMapping("/login")
public String login() {
return "login.jsp";
}
@RequestMapping("/logout-success")
public String logout() {
return "logout.jsp";
}
}