У меня есть URL-адрес типа curl,
curl -i -X GET -H Accept:application/json http://localhost:8080/onyxcxm/admin/getDTMF/2
, когда я нажимаю на URL и получаю Response, как,
HTTP / 1.1 302
X-Content-Type-Options: nosniff
X-XSS-Protection: 1;mode = block
Cache-Control: no-cache, no-store, max-age = 0,
must-revalidate Pragma: no-cache
Срок действия: 0Опции X-Frame: SAMEORIGIN
Местоположение: http://localhost:8080/onyxcxm/login
Длина содержимого: 0
Дата: чт, 04 октября 2018 11:36:48 GMT
и вот мой контроллер вроде
@RequestMapping(value="/getDTMF/{dtmf}",headers = "Accept=application/json")
@ResponseBody
public ResponseEntity<String> getDTMF(@PathVariable("dtmf") String dtmf) {
System.err.println("Pressed digit is "+dtmf);
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Type", "application/json; charset=utf-8");
return new ResponseEntity<String>(null, headers, HttpStatus.OK);
}
и моя конфигурация безопасности:
protected void configure(HttpSecurity http) throws Exception {
http
.headers().addHeaderWriter(
new XFrameOptionsHeaderWriter(
XFrameOptionsHeaderWriter.XFrameOptionsMode.SAMEORIGIN))
.and()
.authorizeRequests()
.antMatchers("/admin/**").access("hasRole('ADMIN')")
.antMatchers("/user/**").access("hasRole('USER')")
.and()
.formLogin()
.loginPage("/login")
.loginProcessingUrl("/j_spring_security_check")
.successHandler(authenticationSuccessHandler())
.failureUrl("/login?error")
.usernameParameter("username")
.passwordParameter("password")
.and()
.logout()
.logoutUrl("/j_spring_security_logout")
.logoutSuccessHandler(logoutSuccessHandler())
.logoutSuccessUrl("/login?logout")
.invalidateHttpSession(true)
.and()
.csrf().disable();
}
я не думаю, почему я получаю эту ошибкуКто-нибудь может решить это?Спасибо.