На самом деле вопрос является продолжением этого:
Применение защиты пружины только к одной странице
Однако проблема в другом:
У меня есть работающее приложение с ("/ index"):
<form id="contact-form" name="contact-form" action="/send_message" method="POST">
, которое подключено к контроллеру:
@PostMapping("/send_message")
public ModelAndView sendMessage(@ModelAttribute Message message, Model model){
//program logic here
return new ModelAndView("info");}}
И ЭТО РАБОТАЕТ, как и должно - logi c выполняется, почта отправляется в почтовый ящик, все в порядке.
Но после того, как я добавляю spring-security-зависимость и добавляю в конфигурацию:
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/admin_panel").authenticated()
.anyRequest().permitAll()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.permitAll()
;
}
приложение работает также, как и ожидалось (логин для admin_panel) требуется как следует, так что это тоже нормально, НО после использования контроллера send_message меня перенаправляют на страницу ошибки:
> 2020-04-24 15:26:38.957 DEBUG 17344 --- [nio-8443-exec-3]
> o.s.web.servlet.DispatcherServlet : "ERROR" dispatch for POST
> "/error", parameters={masked} 2020-04-24 15:26:38.958 DEBUG 17344 ---
> [nio-8443-exec-3] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to
> org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#errorHtml(HttpServletRequest,
> HttpServletResponse) 2020-04-24 15:26:38.967 DEBUG 17344 ---
> [nio-8443-exec-3] o.s.web.servlet.DispatcherServlet : Exiting
> from "ERROR" dispatch, status 403 //some logs without meaning
> 2020-04-24 15:26:39.058 DEBUG 17344 --- [nio-8443-exec-7]
> o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped to
> ResourceHttpRequestHandler ["classpath:/static/img/"] 2020-04-24
> 15:26:39.060 DEBUG 17344 --- [nio-8443-exec-7]
> o.s.web.servlet.DispatcherServlet : Completed 304 NOT_MODIFIED
Почему добавляется весна -безопасность вызвать проблему и помешать контроллеру выполнить логи c?