Добрый вечер, при настройке спринг секюрити, спринг не дает доступ к странице. А именно виводит мне просто html код страници. Полазив в хедерах нашел такую строчку X-XSS-Protection: 1; mode=block, думаю из за ние, когда отключаю в сприн секюр. конфиг хедеры то все начинает работать.
Вопрос, как сделать что бы работало без отключения хедеров?
Настройки
В корне WEB_INF создал страницу test.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>TEST SUPER TEST</h1>
</body>
</html>
к ней контроллер
@Controller
public class TestController {
@RequestMapping(value = "/stest", method = RequestMethod.GET)
public String main(Model model) {
return "test";
}
}
Спринг секюрити конфиг
@EnableWebSecurity
public class SecurityConf extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable().
// headers().disable()
.authorizeRequests()
.antMatchers("/stest").permitAll()
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication().withUser("Alex").password("alex123").roles("ADMIN");
auth.inMemoryAuthentication().withUser("Masha").password("masha123").roles("USER");
}
}
Секюрити инициалайзер
public class SecurityInitializer extends AbstractSecurityWebApplicationInitializer {
}
Web config
@Configuration
@EnableWebMvc
@ComponentScans(value = { @ComponentScan("security.com.springCong"), @ComponentScan("security.com.controller")})
@Import(SecurityConf.class)
public class WebConfig implements WebMvcConfigurer {
@Autowired
private ApplicationContext applicationContext;
@Bean
public SpringResourceTemplateResolver templateResolver() {
SpringResourceTemplateResolver springResourceTemplateResolver = new SpringResourceTemplateResolver();
springResourceTemplateResolver.setApplicationContext(applicationContext);
springResourceTemplateResolver.setPrefix("WEB-INF/");
springResourceTemplateResolver.setSuffix(".html");
springResourceTemplateResolver.setTemplateMode(/*TemplateMode.HTML*/ "XHTML");
springResourceTemplateResolver.setCacheable(false);
return springResourceTemplateResolver;
}
@Bean
public SpringTemplateEngine templateEngine() {
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.addDialect(new LayoutDialect());
templateEngine.setTemplateResolver(templateResolver());
templateEngine.setEnableSpringELCompiler(true);
return templateEngine;
}
@Override
public void configureViewResolvers(ViewResolverRegistry registry) {
ThymeleafViewResolver thymeleafViewResolver = new ThymeleafViewResolver();
thymeleafViewResolver.setTemplateEngine(templateEngine());
thymeleafViewResolver.setContentType("UTF-8");
thymeleafViewResolver.setViewNames(new String[] {"*"});
registry.viewResolver(thymeleafViewResolver);
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/WEB-INF/resources/");
registry.addResourceHandler("/js/**").addResourceLocations("/WEB-INF/resources/js/");
registry.addResourceHandler("/css/**").addResourceLocations("/WEB-INF/resources/css/");
registry.addResourceHandler("/bs/**").addResourceLocations("/WEB-INF/resources/bs/");
}
}