2013-08-23 30 views
10

Używam Spring Config Java Config.Spring Security: Java Config: Jak dodać typ metody?

Chcesz przetłumaczyć następujące XML:

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

Got to praca z Java Config:

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

Ale problemem jest to, że:

nadal mogę używać "/ login" z przeglądarką i wykonaj żądanie GET. Ale chcę tylko, aby dostęp do adresu URL był możliwy przez POST.

quesion:

Jak mogę dodać tę >> method = "post" < < konfiguracji Java?

Odpowiedz

20

Jeśli chcesz sprawdzić dokumentację metody antMatchers, zobaczysz, że wyliczenie HttpMethod może zostać przekazane jako pierwszy parametr.

Więc coś jak to powinno działać:

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

Czy wiesz może jak dodać dozwolonych POST i GET punkty końcowe? Ponieważ wywołanie: '.antMatchers (HttpMethod.POST," /login").permitAll().antMatchers(HttpMethod.GET, "/ some-other"). PermitAll() ' Nie działa. POST do/login wydaje się być nadpisany, ponieważ dostaję na nim 403. – Cleankod

+0

zaktualizowany adres url AntMatcher? http://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/web/util/matcher/AntPathRequestMatcher.html#AntPathRequestMatcher-java.lang.String-java.lang. Strunowy- – Glenn

Powiązane problemy