java 未解析的引用:WebSecurityConfigurerAdapter with spring-boot-starter-security Gradle/Kotlin

yhuiod9q  于 2023-05-12  发布在  Java
关注(0)|答案(1)|浏览(132)

我是Gradle和Kotlin的新手,我正在尝试为我的Sping Boot 应用程序设置一个简单的API密钥身份验证。我在build.gradle.kts文件中添加了spring-boot-starter-security,但是在SecurityConfig文件中,
org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter未解析。其他的安全进口都很好。比如说
org.springframework.security.config.annotation.web.builders.HttpSecurity工作正常。我正在使用Intellij,我以为这可能是缓存问题,但它在无效缓存后仍然存在。
这是我的build.gradle.kts文件。

plugins {
    id("org.springframework.boot") version "3.0.6"
    id("io.spring.dependency-management") version "1.1.0"
    id("io.freefair.lombok") version "8.0.1"
    kotlin("jvm") version "1.7.22"
    kotlin("plugin.spring") version "1.7.22"
}

group = "com.demo"
version = "0.0.1-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_17

repositories {
    mavenCentral()
}

dependencies {
    implementation("org.springframework.boot:spring-boot-starter-data-jdbc")
    implementation("org.springframework.boot:spring-boot-starter-data-mongodb")
    implementation("org.springframework.boot:spring-boot-starter-web")
    implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
    implementation("org.jetbrains.kotlin:kotlin-reflect")
    implementation("org.springframework.boot:spring-boot-starter-security")
    developmentOnly("org.springframework.boot:spring-boot-devtools")
    runtimeOnly("com.h2database:h2")
    testImplementation("org.springframework.boot:spring-boot-starter-test")
    testImplementation("org.springframework.security:spring-security-test")
}

tasks.withType<KotlinCompile> {
    kotlinOptions {
        freeCompilerArgs = listOf("-Xjsr305=strict")
        jvmTarget = "17"
    }
}

tasks.withType<Test> {
    useJUnitPlatform()
}

我引用了这篇文章:https://medium.com/techwasti/enable-spring-security-using-kotlin-6b9abb36d218
我的SecurityConfig文件位于src/main/Kotlin/com.demo.dashboard/config下。
我尝试重新启动IDE,在build.gradle.kts文件中以不同的方式引用spring安全依赖项,并使用从一开始选择的依赖项重新初始化项目,但我没有运气。

pbgvytdp

pbgvytdp1#

看起来像WebSecurityConfigurerAdapterhas been deprecated last year,在Spring Security 5.7中。
从java文档中快速搜索,the class no longer exists in 6.0.3 (latest version)。从您发布的build.gradle文件中,您使用的是最新版本。
第一个链接下的文章描述了配置Spring Security 的替代方法。This article也可能有帮助。

相关问题