Je suis en train de sécuriser mon site web en utilisant Spring Security en suivant les guides sur le web.
Donc, du côté serveur, j'ai les classes suivantes.
Mon WebSecurityConfigurerAdapter
:
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter implements ApplicationContextAware {
@Override
protected void registerAuthentication(AuthenticationManagerBuilde rauthManagerBuilder) throws Exception {
authManagerBuilder.inMemoryAuthentication().withUser("user").password("password").roles("ADMIN");
}
}
Mon contrôleur:
@Controller
//@RequestMapping("/course")
public class CourseController implements ApplicationContextAware {
@RequestMapping(value="/course", method = RequestMethod.GET, produces="application/json")
public @ResponseBody List get( // Le critère utilisé pour trouver.
@RequestParam(value = "what", required = true) String what,
@RequestParam(value = "value", required = true) String value) {
//.....
}
@RequestMapping(value = "/course", method = RequestMethod.POST, produces = "application/json")
public List upload(@RequestBody Course[] cs) {
}
}
Ce qui me perturbe beaucoup, c'est que le serveur ne répond pas à la méthode POST
/DELETE
, alors que la méthode GET
fonctionne bien. Au fait, j'utilise RestTemplate
côté client.
Les exceptions sont les suivantes:
Exception in thread "main" org.springframework.web.client.HttpClientErrorException: 403 Forbidden
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:91)
at org.springframework.web.client.RestTemplate.handleResponseError(RestTemplate.java:574)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:530)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:487)
at org.springframework.web.client.RestTemplate.delete(RestTemplate.java:385)
at hello.Application.createRestTemplate(Application.java:149)
at hello.Application.main(Application.java:99)
J'ai cherché sur internet pendant des jours. Je n'ai toujours pas d'idée. S'il vous plaît aidez. Merci beaucoup