Norwich
@Norwich
Web-developer

Как настроить CORS Spring Security?

Доброго времени суток.
Пытаюсь настроить CORS в Spring Security без WebSecurityConfigurerAdapter, но все бестолку.
Итоговый вариант моих мучений
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.javainuse</groupId>
    <artifactId>spring-boot-jwt-consume</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>SpringBootHelloWorld</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <spring-security.version>6.0.1</spring-security.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

    </dependencies>



</project>


SecurityConfiguration.java
@Configuration
@EnableAutoConfiguration
public class SecurityConfiguration {
    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        http
                .authorizeHttpRequests().requestMatchers("/**").permitAll();
        return http.build();
    }


}


На выходе я получаю следующую ошибку:
Failed to process import candidates for configuration class [org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration]; nested exception is org.springframework.core.NestedIOException: ASM ClassReader failed to parse class file - probably due to a new Java class file version that isn't supported yet: class path resource [org/springframework/security/config/annotation/web/configuration/WebSecurityConfiguration.class]; nested exception is java.lang.IllegalArgumentException: Unsupported class file major version 61


Есть кто сталкивался с таким и нашел решение?
  • Вопрос задан
  • 302 просмотра
Пригласить эксперта
Ответы на вопрос 1
jaxtr
@jaxtr
JavaEE/Spring-разработчик
<java.version>1.8</java.version>

Вот тут версию сделать 17, раз Spring Security 6+ (кстати, Spring Boot сделать бы 3+). В SecurityConfiguration по факту отсутствует настройка CORS. Делается это при помощи ветки методов http.cors()...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы