Выдача доступа к отправке формы
Вот SecurityConfig
@Configuration
@RequiredArgsConstructor
@EnableMethodSecurity
public class SecurityConfig {
@Bean
public static PasswordEncoder passwordEncoder(){
return new BCryptPasswordEncoder();
}
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception{
http
.authorizeHttpRequests((requests) -> requests
.requestMatchers(
"/registration","/questions/add"
).permitAll()
.anyRequest().authenticated()
)
.formLogin((form) -> form
.loginPage("/login")
.defaultSuccessUrl("/profile")
.permitAll()
)
.logout((logout) -> logout.permitAll());
return http.build();
}
}
Контроллер
@Controller
@RequestMapping("/questions")
public class QuestionController {
private final QuestionService questionService;
public QuestionController(QuestionService questionService) {
this.questionService = questionService;
}
@GetMapping
public String listQuestions(Model model) {
List<Question> questions = questionService.getAllQuestions();
model.addAttribute("questions", questions);
return "questions/list";
}
@GetMapping("/add")
public String addQuestionForm(Model model) {
model.addAttribute("question", new Question());
return "questions/add";
}
@PostMapping("/add")
public String addQuestionSubmit(@ModelAttribute Question question) {
questionService.addQuestion(question.getTopic(), question.getQuestion());
return "redirect:/questions";
}
}
И сама форма
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<title>Добавить вопрос</title>
</head>
<body>
<h1>Добавить вопрос</h1>
<form action="/questions/add" method="post">
<label for="topic">Тема:</label>
<input type="text" id="topic" name="topic" required><br>
<label for="question">Вопрос:</label>
<textarea id="question" name="question" required></textarea><br>
<input type="submit" value="Добавить">
</form>
</body>
</html>
Проблема в том, что при обычной загрузке все хорошо, но когда я отправляю форму выдает отказ в доступе 403. Только начинаю, поэтому если можно с объяснением