Проблема заключается в том что нужно использовать один запрос на несколько случай жизни
Не понимаю как сделать связки между ними
Если брать запрос: localhost:8080/ то он должен проверить была ли сделана авторизация, если нет, то делает redirect, если было сделано, то он показывает разметку, в котором уже находятся данные объекта пользователя.
Так же было не понятно что после кнопки авторизации, передача объекта другому запросу с помощью redirect. По коду выглядит все так
@GetMapping("/")
public String mainPage(Model model) {
return "index";
}
// хочу совместить их
@GetMapping("/admin")
public ModelAndView getAdminPanel(ModelMap model) {
UserDto userDto = new UserDto(
1L, "Sanzhar", "Zhanibekov", Gender.MALE, "root", TypeUser.EMPLOYEE
);
model.addAttribute("user", userDto);
return new ModelAndView("home", model);
}
@GetMapping("/login")
public ModelAndView authPage(ModelMap model) {
model.addAttribute("form", new LoginForm());
return new ModelAndView("authorization", model);
}
@PostMapping("/auth")
public String authorize(@ModelAttribute LoginForm loginForm, Model model) {
User user = userDao.findUserByEmailAndPassword(
loginForm.getEmail(),
loginForm.getPassword()
);
if (user == null)
return "redirect:/login";
model.addAttribute("userDto", new UserConverter().convertToDto(user));
return "redirect:/home";
}