2013-08-23 13 views
10

Sto utilizzando Spring Securitys Java Config.Spring Security: Java Config: come aggiungere il tipo di metodo?

desidera tradurre il seguente XML:

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

ottenuto che funziona con Java Config:

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

Ma un problema c'è:

posso ancora usare "/ login" con un browser e fare una richiesta GET. Ma voglio solo che l'URL sia accessibile dal POST.

quesion:

Come posso aggiungere questo >> method = "POST" < < alla configurazione java?

risposta

20

Se si controlla la documentazione del metodo antMatchers, si vedrà che l'elenco di HttpMethod può essere passato come primo parametro.

Quindi, qualcosa di simile dovrebbe funzionare:

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

Sai forse come aggiungere POST e GET permesso endpoint? Perché invocando: '.antMatchers (HttpMethod.POST," /login").permitAll().antMatchers(HttpMethod.GET, "/ some-other"). PermitAll() ' Non funziona. Il POST to/login sembra essere sovrascritto poiché ottengo 403 su di esso. – Cleankod

+0

aggiornato 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. Stringa- – Glenn

Problemi correlati