SecurityMockMvcConfigurers kann nicht gefunden werden

8

Ich versuche einen Federsicherheitstest wie hier beschrieben zu schreiben Ссылка . Ich muss SecurityMockMvcConfigurers als statischen Import importieren, aber meine IDE findet die Klasse nicht.

Meine pom.xml sieht folgendermaßen aus:

%Vor%

Spring Boot 1.4.0.M2 importiert Spring Security 4.0.4.RELEASE. Ich kann die Klasse in dieser Version nicht finden. Welche zusätzliche Abhängigkeit brauche ich? Oder was habe ich noch nicht berücksichtigt?

    
René Winkler 24.04.2016, 15:14
quelle

3 Antworten

26

Die fehlende Abhängigkeit war:

%Vor%     
René Winkler 24.04.2016, 17:08
quelle
0

Die erforderliche Abhängigkeit für die Klasse org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers ist die Abhängigkeit org.springframework.security:spring-security-test .

Die Frage wird markiert Spring Boot und Spring Boot stellt die Abhängigkeit als eine verwaltete Abhängigkeit in spring-boot-starter-parent pom bereit.
Dein Pom erbt sehr wahrscheinlich von spring-boot-starter-parent .
Also vor allem nicht eine Version ohne einen sehr guten Grund angeben und einfach die vom Eltern geerbte Version verwenden.
Das ist genug:

%Vor%

Zum Beispiel ist mit Spring Boot 2.0.0.M5 die gemanagte Version

%Vor%

Das M5 ist nicht Zufall.
Diese sind so konzipiert, dass sie "besser" zusammenarbeiten.

Beachten Sie, dass die org.springframework.boot:spring-boot-starter-test -Abhängigkeit nicht die spring-security-test -Abhängigkeit verwendet.

Wenn Sie Spring Boot nicht verwenden, sollten Sie sich bemühen, eine spring-security-test -Version anzugeben, die der von der Anwendung verwendeten Core Spring-Version entspricht.

    
davidxxx 09.12.2017 20:42
quelle
-2

Die Klasse SecurityMockMvcConfigurers ist in

enthalten %Vor%

In anderen Versionen ist SecurityMockMvcConfigurers möglicherweise nicht vorhanden.

Allerdings gibt es eine Klasse MockMvcConfigurer, möglicherweise können Sie stattdessen damit arbeiten?

bezüglich: aber diese Abhängigkeit enthält nicht die entsprechende Klasse.

Ja, Sie haben Recht, dass die Klasse im Glas nicht enthalten ist. Also ich denke du musst nutzen was da ist. Wie auch immer, die Klasse ist ziemlich einfach und der Quellcode ist hier: SecurityMockMvcConfigurers

Kopieren Sie einfach den Code in Ihre eigene Klasse und Sie sind fertig.

    
quelle