Wie simuliert man das @ PreAutorize-Tag in einem Integrationstest?

9

Ich habe die folgende Methode in Spring MVC und Spring Security verwenden:

%Vor%

Ich kann eine Authentifizierung wie folgt simulieren:

%Vor%

Aber ich weiß nicht, wie ich die Autorisierung mit @PreAutorize einrichten soll.

Wie kann ich meinen Testkontext korrekt einrichten, so dass ich keinen Zugriff verweigert bekomme?

%Vor%     
Thomas Vervik 20.08.2012, 08:22
quelle

3 Antworten

1

Die Annotationen (@PreAuthorize, @PostAuthorize, @PreFilter, @PostFilter), die Expression-Attribute unterstützen, um pre & amp; amp; Berechtigungsprüfungen nach dem Aufruf werden über das Namespace-Element global-method-authority aktiviert.

Sie müssen folgenden Code in Ihre application-servlet.xml- oder Sicherheits-XML-Datei einfügen.

%Vor%

Überprüfen Sie spring-testcontext-framework und diese Post beantwortet die Frage sehr ähnlich wie Ihre.

    
Jeevan Patil 24.08.2012, 17:49
quelle
0

Klingt so, als ob Sie eine Scheinversion der Bean deklarieren möchten, die die Authentifizierung durchführt. Möglicherweise benötigen Sie einen Test context.xml, um es zu deklarieren.

    
TrueDub 20.08.2012 14:45
quelle
0

Vielleicht überprüfe diesen alten Post und den offizielle Dokumentation 16.3 Methoden Sicherheitsausdrücke für die XML-Konfiguration.

Ich denke, Sie müssen auf Ihrem xml deklarieren:

Auch Ihre Methode zum Authentifizieren von Token könnte eine hasPermisions () sein. Überprüfen Sie 16.3.2 Eingebaute Ausdrücke

    
jmventar 24.08.2012 08:49
quelle

Tags und Links