Blame view

PFE06/src/main/java/com/PFE/ServerManager/MainController.java 3.17 KB
e1305e8c   sfeutrie   projet Spring boo...
1
2
3
4
  package com.PFE.ServerManager;
  
  import org.springframework.beans.factory.annotation.Autowired;
  import org.springframework.stereotype.Controller;
e743b1b9   Antoine Duquenoy   Ajout d'un utilis...
5
  import org.springframework.web.bind.annotation.*;
d0a03db7   sfeutrie   restructuration d...
6
  import org.springframework.web.servlet.ModelAndView;
57e157a4   sfeutrie   optimisation de l...
7
8
  
  import java.util.Arrays;
6029d52b   Antoine Duquenoy   Spring Security o...
9
10
11
12
  import java.util.HashSet;
  import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
  import org.springframework.security.core.context.SecurityContextHolder;
  import org.springframework.security.core.Authentication;
e1305e8c   sfeutrie   projet Spring boo...
13
  
57e157a4   sfeutrie   optimisation de l...
14
15
  import javax.persistence.SequenceGenerator;
  
d0a03db7   sfeutrie   restructuration d...
16
  @Controller
e1305e8c   sfeutrie   projet Spring boo...
17
  public class MainController {
d0a03db7   sfeutrie   restructuration d...
18
19
  
      @Autowired
e1305e8c   sfeutrie   projet Spring boo...
20
21
      CustomerRepository customerRepository;
  
d0a03db7   sfeutrie   restructuration d...
22
23
24
      @Autowired
      RoleRepository roleRepository;
  
6029d52b   Antoine Duquenoy   Spring Security o...
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
      @Autowired
      BCryptPasswordEncoder bCryptPasswordEncoder;
  
      @GetMapping(value="/")
      public String homeRedirection(){
          return "redirect:home";
      }
  
      @GetMapping(value="/home")
      public ModelAndView home() {
          ModelAndView modelAndView = new ModelAndView();
          Authentication auth = SecurityContextHolder.getContext().getAuthentication();
          Customer customer = customerRepository.findByPseudo(auth.getName());
          modelAndView.addObject("customerName", customer.getPseudo());
          modelAndView.setViewName("home");
          return modelAndView;
e1305e8c   sfeutrie   projet Spring boo...
41
42
      }
  
d0a03db7   sfeutrie   restructuration d...
43
44
45
      @GetMapping(path="/registration")
      public String registration() {
          return "registration";//fait le lien automatiquement avec le page html du même nom  //return "redirect:/....";
e743b1b9   Antoine Duquenoy   Ajout d'un utilis...
46
47
      }
  
6029d52b   Antoine Duquenoy   Spring Security o...
48
49
50
51
52
      @GetMapping(path="/denied")
      public String denied() {
          return "denied";
      }
  
d0a03db7   sfeutrie   restructuration d...
53
54
55
56
      @PostMapping(path="/registration")
      public ModelAndView addNewUser(@RequestParam String pseudo, @RequestParam String password) {
          //Model map, ModelAndView ou l'utilisation direct comme dans la méthode précédente sont 3 méthodes qui permettent d'envoyer des informations et donc de changer l'apparence d'une page
          ModelAndView modelAndView = new ModelAndView(); // il n'est peut être pas utile d'utiliser ModelAndView
e1305e8c   sfeutrie   projet Spring boo...
57
58
          Customer n = new Customer();
          n.setPseudo(pseudo);
6029d52b   Antoine Duquenoy   Spring Security o...
59
          n.setPassword(bCryptPasswordEncoder.encode(password));
57e157a4   sfeutrie   optimisation de l...
60
          n.setId((int)(customerRepository.count()+1));
6029d52b   Antoine Duquenoy   Spring Security o...
61
          n.setActive(1);
e743b1b9   Antoine Duquenoy   Ajout d'un utilis...
62
          Customer temp = customerRepository.findByPseudo(pseudo);
57e157a4   sfeutrie   optimisation de l...
63
64
          Role userRole = roleRepository.findByRole("ADMIN");
          n.setRoles(new HashSet<Role>(Arrays.asList(userRole)));
d0a03db7   sfeutrie   restructuration d...
65
  
e743b1b9   Antoine Duquenoy   Ajout d'un utilis...
66
          if(temp != null) {
d0a03db7   sfeutrie   restructuration d...
67
68
              modelAndView.addObject("ok", "l'utilisateur existe déjà");
              //return "login?fail";
e743b1b9   Antoine Duquenoy   Ajout d'un utilis...
69
          }
d0a03db7   sfeutrie   restructuration d...
70
71
72
          else {
              modelAndView.addObject("ok", "l'utilisateur a bien été ajouté");
              customerRepository.save(n);
6029d52b   Antoine Duquenoy   Spring Security o...
73
          }
d0a03db7   sfeutrie   restructuration d...
74
75
76
          modelAndView.setViewName("registration");
          return modelAndView;
      }
e743b1b9   Antoine Duquenoy   Ajout d'un utilis...
77
  
d0a03db7   sfeutrie   restructuration d...
78
      @GetMapping(path="/login")
6029d52b   Antoine Duquenoy   Spring Security o...
79
      public ModelAndView login() {
d0a03db7   sfeutrie   restructuration d...
80
81
82
          ModelAndView modelAndView = new ModelAndView();
          modelAndView.setViewName("login");
          return modelAndView;
e1305e8c   sfeutrie   projet Spring boo...
83
      }
e1305e8c   sfeutrie   projet Spring boo...
84
85
86
  
      @GetMapping(path="/all")
      public @ResponseBody Iterable<Customer> getAllUsers() {
e1305e8c   sfeutrie   projet Spring boo...
87
88
          return customerRepository.findAll();
      }
d0a03db7   sfeutrie   restructuration d...
89
  
6029d52b   Antoine Duquenoy   Spring Security o...
90
      @GetMapping(value="/success")
d0a03db7   sfeutrie   restructuration d...
91
92
93
      public String success(){
          return "success";
      }
e1305e8c   sfeutrie   projet Spring boo...
94
  }