Я хочу проверить личность пользователя при отправке запроса localhost:8080/submit
, поэтому я добавил следующее в класс SecurityConfig:
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/submit").access("hasRole('WORKER')")
.antMatchers("/**").permitAll()
.and()
.formLogin()
.loginPage("/login")
.and()
.logout()
.logoutSuccessUrl("/")
.and()
.rememberMe()
.tokenValiditySeconds(4838400)
.key("workerKey");
}
Хотелось бы, чтобы страница могла перенаправляться на localhost:8080/login
, когда я вводил localhost:8080/submit
в поле адреса. Моя рабочая сущность имеет роль «РАБОТНИК»:
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
return Arrays.asList(new SimpleGrantedAuthority("WORKER"));
}
Я могу зарегистрировать учетную запись и перенаправить на страницу входа при вводе «localhost: 8080 / submit». Но когда я ввожу правильное имя пользователя и пароль, он отправляет мне сообщение об ошибке, а не страницу отправки:
Произошла непредвиденная ошибка (тип = Запрещено, статус = 403).
Запрещено
Моя страница отправки - это просто страница с приветствием. Мои отображения
@RequestMapping(value = "/login", method = RequestMethod.GET)
public String showLogin() {
return "login";
}
@RequestMapping(value = "/submit", method = RequestMethod.GET)
public String showSubmit() {
return "submit";
}
И когда я снова ввел localhost:8080/submit
, на этот раз он не перенаправил на страницу входа. Вместо этого он перенаправляет на страницу ошибки напрямую и показывает ту же ошибку. Так что мне запретить перенаправлять на страницу отправки?