При отправке данных с формы регистрации перенаправляет на вход
Есть файл Freemarker с формой регистрации:
<form class="form-container" action="/sign_up/register" method="post">
<div class="form-group">
<input type="tel" placeholder="Телефон" name="phone" required>
</div>
<div class="form-group">
<input type="email" placeholder="Почта" name="email">
</div>
<div class="form-group">
<input type="password" placeholder="Пароль" name="password" required>
</div>
<div class="form-group">
<input type="password" placeholder="Повтор пароля" name="confirmPassword" required>
</div>
<button type="submit">Регистрация</button>
<p>У вас уже есть аккаунт? <a href="sign_in">Вход</a></p>
</form>
Есть файл конфигурации безопасности приложения Spring Security:
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/static/**", "/sign_up", "/sign_up/register", "/register").permitAll()
.antMatchers("/pending").hasRole(Role.PENDING.name())
.antMatchers("/parent/**").hasAnyRole(Role.PARENT.name(), Role.ADMIN.name())
.antMatchers("/tutor/**").hasAnyRole(Role.TUTOR.name(), Role.ADMIN.name())
.antMatchers("/**", "/dashboard").hasRole(Role.ADMIN.name())
.and()
.formLogin()
.loginPage("/sign_in")
.permitAll()
.and()
.logout()
.permitAll();
}
Есть контроллер, который реагирует на страницу с формой регистрации:
package com.pine.KO.CAS.controller.users;
import com.pine.KO.CAS.controller.dto.RegistrationDTO;
import com.pine.KO.CAS.model.service.UserService;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
@Controller
@RequestMapping("/sign_up")
//@SessionAttributes("registrationDTO")
public class SignUpController {
private static final Logger logger = LogManager.getLogger(SignUpController.class);
public SignUpController() {
logger.error("SignUpController has been created!");
}
@GetMapping
public String getSignUpPage(Model model) {
logger.error("send to guest 'sign_up' page");
model.addAttribute("registrationDTO", new RegistrationDTO());
return "/auth/sign_up";
}
//@ModelAttribute("registrationDTO") RegistrationDTO dto,
@PostMapping("/register")
public String redirectToRegisterPage(Model model) {
logger.error("Redirecting to Register page");
return "stub";
}
}
GET метод отрабатывает - логи выводятся. Проблема в том, что при вводе любых данных в форму регистрации, при нажатии на кнопку submit данные должны передаваться в контроллер, в метод 'redirectToRegisterPage' и дальше должен происходить редирект на другой адрес, соответственно на другой контроллер.
Но сам метод не отрабатывается почему-то. Поставил туда на возврат временную заглушку и логгер, но в метод даже не заходит. А меня перенаправляет на страницу входа.
Последнее моё предположение - какое-то недопонимание с адресами или возможно что-то неправильно сделал в Security конфиге.
P.S. Комментариями указывал что конкретно я пытался подправить, но ничего не менялось.