Inhaltsverzeichnis
Einführung
Spring Security und JUnit verstehen
Spring-Sicherheit mit JUnit testen
Richten Sie die Testumgebung ein
Testfälle für Spring Security schreiben
Authentifizierungszugriff testen
Fazit
Heim Java javaLernprogramm Testen der Spring Security-Authentifizierung mit JUnit

Testen der Spring Security-Authentifizierung mit JUnit

Sep 10, 2023 am 10:01 AM

使用JUnit测试Spring Security身份验证

Einführung

Spring Security ist ein hochgradig anpassbares Authentifizierungs- und Zugriffskontroll-Framework für Java-Anwendungen, insbesondere Spring-basierte Anwendungen. Das Testen dieser Sicherheitsmaßnahmen ist für die Gewährleistung der Sicherheit Ihrer Anwendung von entscheidender Bedeutung. In diesem Artikel untersuchen wir, wie man Spring Security mit JUnit, dem führenden Unit-Testing-Framework in Java, effektiv testet.

Spring Security und JUnit verstehen

Spring Security ist ein leistungsstarkes Framework, das Authentifizierung, Autorisierung und andere Sicherheitsfunktionen für Anwendungen auf Unternehmensebene bereitstellt. Es ist sowohl umfassend als auch flexibel und eignet sich für eine Vielzahl von Sicherheitsanforderungen.

JUnit ist ein einfaches Open-Source-Framework zum Schreiben wiederholbarer Tests in Java. Es bietet Anmerkungen zur Identifizierung von Testmethoden und Behauptungen zur Überprüfung der Ergebnisse dieser Tests.

Spring-Sicherheit mit JUnit testen

Richten Sie die Testumgebung ein

Um Spring Security mit JUnit zu testen, müssen wir zunächst die erforderlichen Abhängigkeiten zur Maven- oder Gradle-Build-Datei hinzufügen. Für Maven werden wir -

einschließen
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>
Nach dem Login kopieren

Testfälle für Spring Security schreiben

Jetzt beginnen wir mit dem Schreiben unserer Testfälle. Nehmen wir an, wir haben einen REST-API-Endpunkt („/api/data“), auf den nur authentifizierte Benutzer zugreifen können. Wir können einen JUnit-Test schreiben, um dies zu überprüfen −

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.web.servlet.MockMvc;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

@SpringBootTest
@AutoConfigureMockMvc
public class WebSecurityTest {

   @Autowired
   private MockMvc mockMvc;

   @Test
   public void shouldReturnUnauthorizedForUnauthenticatedUsers() throws Exception {
      mockMvc.perform(get("/api/data"))
         .andExpect(status().isUnauthorized());
   }
}
Nach dem Login kopieren

In diesem Test verwenden wir MockMvc, um eine GET-Anfrage an „/api/data“ durchzuführen. Da der Benutzer nicht authentifiziert ist, erwarten wir einen HTTP-Statuscode von 401 (Nicht autorisiert).

Authentifizierungszugriff testen

Wenn wir den Endpunkt für einen authentifizierten Benutzer testen möchten, stellt Spring Security Test die Annotation @WithMockUser bereit, um diesen Zweck zu erreichen –

import org.springframework.security.test.context.support.WithMockUser;

@Test
@WithMockUser
public void shouldReturnOkForAuthenticatedUsers() throws Exception {
   mockMvc.perform(get("/api/data")).andExpect(status().isOk());
}
Nach dem Login kopieren

In diesem Test richtet @WithMockUser einen Scheinbenutzer ein, um Anfragen „authentifiziert“ zu machen. Wir erwarten dann einen HTTP-Status von 200 (OK).

Fazit

Das Testen von Spring Security mit JUnit ist ein entscheidender Schritt, um sicherzustellen, dass die Sicherheitsmaßnahmen Ihrer Anwendung wie erwartet funktionieren. Mit der richtigen Einrichtung und dem richtigen Verständnis beider Frameworks können Sie effektive Tests schreiben und die Robustheit Ihrer Sicherheitsimplementierung verbessern.

Das obige ist der detaillierte Inhalt vonTesten der Spring Security-Authentifizierung mit JUnit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)