LINUX.ORG.RU

Как отделить страницы разных пользователей

 ,


0

1

Вопрос, возможно, тривиальный, но почему-то решения я найти никак не могу. С использованием Spring boot, security, jpa и thymeleaf я создал форму логина и форму регистрации, в бдшке лежит несколько пользователей, при успешном логине всех просто кидает на тестовую страничку где написано «hi», мне же нужно сделать так чтобы я мог выдернуть всю необходимую информацию из залогиневшегося пользователя и построить страницу его профиля, если поможете будет приятно, а если кинете годный тутор будет еще приятнее, просто почему-то все туторы заканчиваются именно на этом месте

Вот обычная форма логина, на всякий случай поскидываю)

<body>
<div class="containerHB">

<h >HobNob</h>
</div>
<div class="container">
    <form method="post" th:action="@{/login}">
        <div class ="dws-input">
        <input type="text" name="username" id="username" autofocus="autofocus" placeholder="Enter login...">
        </div>
        <div class ="dws-input">
        <input type="password" name="password" id="password" placeholder="Enter password...">
        </div>
        <div class ="dws-submit-sign">
            <input class="dsw-submit-sign" type="submit" value="Log in">
        </div>
        <div >
            <input class="dsw-submit-registration" type="button" name="submit"  value="Registration" onclick="location.href='http://localhost:8080/registration';">
        </div>

    </form>
</div>
</body>

Вот контроллер

import com.example.finaltry.model.User;
import com.example.finaltry.service.MyUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

@Controller
public class UserController {

    @Autowired
    MyUserService service;

    @GetMapping("/")
    public String start(){
        return "userPage";
    }

    @RequestMapping(value = "/login")
    public String getLogin(@RequestParam(value = "error", required = false) String error,
                           @RequestParam(value = "login", required = false) String login,
                           Model model){
        model.addAttribute("error", error!=null);
        model.addAttribute("login", login!=null);
        return "login";
    }

    @RequestMapping(value = "/registration", method = RequestMethod.GET)
    public String  getUser(Model model){
        model.addAttribute("newUser", new User());
        return "registration";
    }

    @RequestMapping(value = "/registration", method = RequestMethod.POST)
    public String setUser(@ModelAttribute User user){
        service.addUser(user);
        return "login";
    }
}

String userName =SecurityContextHolder.getContext().getAuthentication().getName()

и вытягивай сколько угодно. аля

@GetMapping("/profile")
   public String profile(Model model) {
      SecurityContext context = SecurityContextHolder.getContext();      
      model.addAttribute("userName", context.getAuthentication().getName());
...
      return "profile";
   }

vtVitus ★★★★★
()
Последнее исправление: vtVitus (всего исправлений: 1)

«С использованием Spring boot, security, jpa и thymeleaf я создал форму логина и форму регистрации» - «В наше время это делали с ластами и маской» (с) х.ф. «Скала»

solom
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.