package project.educatum; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.context.annotation.Bean; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.web.firewall.HttpFirewall; import org.springframework.security.web.firewall.HttpStatusRequestRejectedHandler; import org.springframework.security.web.firewall.RequestRejectedHandler; import org.springframework.security.web.firewall.StrictHttpFirewall; @SpringBootApplication @ServletComponentScan public class EducatumApplication { public static void main(String[] args) { SpringApplication.run(EducatumApplication.class, args); } @Bean PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } @Bean public HttpFirewall allowUrlSemicolonHttpFirewall() { StrictHttpFirewall firewall = new StrictHttpFirewall(); firewall.setAllowSemicolon(true); return firewall; } @Bean RequestRejectedHandler requestRejectedHandler() { // sends an error response with a configurable status code (default is 400 BAD_REQUEST) // we can pass a different value in the constructor return new HttpStatusRequestRejectedHandler(); } }