2013-08-23 4 views
10

Ich verwende Spring Security Java Config.Spring Security: Java Config: Wie füge ich den Methodentyp hinzu?

Möchten Sie das folgende XML übersetzen:

<intercept-url pattern="/login" access="permitAll" method="POST" /> 

habe es funktioniert mit Java Config:

http.authorizeUrls().antMatchers("/login").permitAll(); 

Doch ein Problem gibt es:

ich noch verwenden können "/ login" mit einem Browser und mache eine GET-Anfrage. Aber ich möchte nur, dass die URL per POST erreichbar ist.

quesion:

Wie kann ich diese >> method = "POST" < < zu Java-Konfiguration?

Antwort

20

Wenn Sie die Dokumentation der antMatchers Methode überprüfen, werden Sie sehen, dass die Enumeration von HttpMethod als erster Parameter übergeben werden kann.

So etwas wie dies funktionieren sollte:

http.authorizeUrls().antMatchers(HttpMethod.POST, "/login").permitAll(); 
+2

Wissen Sie vielleicht, wie erlaubt POST hinzuzufügen und Endpunkte GET? Weil Aufruf: '.antMatchers (HttpMethod.POST," /login").permitAll().antMatchers(HttpMethod.GET, "/ einige andere"). ProperAll() ' Funktioniert nicht. Der POST to/login scheint überschrieben zu werden, seit ich 403 darauf habe. – Cleankod

+0

aktualisierte antMatcher URL? http://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/web/util/matcher/AntPathRequestMatcher.html#AntPathRequestMatcher-java.lang.String-java.lang. String- – Glenn