Похоже, что ваша текущая spring-security
зависимость предназначена только для test
scope.
Если мы следуем руководству, в нем говорится, что вы должны добавить следующую зависимость для WebSecurityConfig
:
<dependencies>
...
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
...
</dependencies>
Обратите внимание, что здесь не установлена область действия, то есть это будет область по умолчанию, которая равна compile
.
Возможно, вам придется вручную повторно импортировать проект maven после изменения зависимостей:
После повторного импорта зависимости в pom.xml
не должны отображаться красным цветом.
Небольшое обновление
Чтобы быть уверенным на 146%, вот мой pom.xml, который работает:
<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework</groupId>
<artifactId>gs-securing-web</artifactId>
<version>0.1.0</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
</dependencies>
<properties>
<java.version>1.8</java.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Обновление 2 - исправление актуальной проблемы
На самом деле проблема (как и в самом тексте вопроса) - это просто отсутствие import
класса HttpSecurity
в WebSecurityConfig
.
Итак, добавив
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
сделает код скомпилированным и SpringSiteApplication
запустится.
Обновление 3 - что было РЕАЛЬНОЙ проблемой после того, как мы исследовали ее через TeamViewer.
Зависимости Spring не были загружены, поскольку у компьютера не было доступа к центральному репозиторию Maven (https://repo.maven.apache.org/maven2).
После отключения брандмауэра Windows соединения начали работать.
IDEA была слишком медленной при обновлении индексов репо, но командная строка mvn install
помогла наконец загрузить библиотеки. После этого IDEA начала показывать импортированные классы.