Bonjour

Je suis le tutoriel : Apprendre à développer les services REST avec Spring Boot et Spring RestTemplate https://bnguimgo.developpez.com/tuto...tie-le-serveur et lorsque j'essaie d'insérer les données dans la bd, je reçois le message d'erreur suivant:

Access is denied (user is anonymous); redirecting to authentication entry point
org.springframework.security.access.AccessDeniedException: Access is denied
Je ne comprends pas d'où peut venir le problème.

Voici le code d'insertion dans la BD:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
@PostMapping(value = "/registration")
    public ModelAndView saveUser(@Valid @ModelAttribute("creer-compte") UserRegistrationForm userRegistrationForm,
            BindingResult bindingResult, ModelAndView modelAndView) {
    	modelAndView.setViewName("creer-compte");
    	if (bindingResult.hasErrors()) {
            return modelAndView;
        }
    	Map<String, String> variables = new HashMap<String, String>(1);
        variables.put("loginName", userRegistrationForm.getLogin());
 
        MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
        mappingJackson2HttpMessageConverter.setSupportedMediaTypes(Arrays.asList(MediaType.APPLICATION_JSON, MediaType.APPLICATION_OCTET_STREAM));
        restTemplate.getMessageConverters().add(mappingJackson2HttpMessageConverter);
 
        ResponseEntity<User> userEntity =  restTemplate.getForEntity(configurationService.getUrl() +"user/users/{loginName}", User.class, variables);
        User userExists = userEntity.getBody();
		if (userExists != null) {//ceci nous évite d'écrire une page de gestion des erreurs
			logger.info("userExists", userExists.toString());
			bindingResult.rejectValue("login", "error.user", "Un utilisateur est déjà enregistré avec ce compte");//Note: la variable login doit être un attribut de l'objet User, sinon erreur
            return modelAndView;
		}
 
        //return "loginSuccess";
		ResponseEntity<User> userEntitySaved = restTemplate.postForEntity(configurationService.getUrl() +"user/users", new User(userRegistrationForm), User.class);//point de liaison entre le client REST et le serveur REST grace à RestTemplate
		User userSaved = userEntitySaved.getBody();
        if(null ==userSaved){
        	modelAndView.addObject("saveError", "erreur de création du compte.");
        	return modelAndView;
        }
        modelAndView.setViewName("loginSuccess");
        modelAndView.addObject("userSaved", userSaved);
       return modelAndView; 
    }