Ответы пользователя по тегу Thymeleaf
  • URL на личный кабинет пользователя?

    Erik_Mironov
    @Erik_Mironov
    Старые вопросы: *Dies from cringe*
    Spring Security предоставляет класс SecurityContextHolder, который позволяет выполнять поиск текущего аутентифицированного пользователя через:
    Authentication auth = SecurityContextHolder.getContext().getAuthentication();

    Authentication предоставляет следующие методы:

    - Получить имя пользователя вошедшего в систему: getPrincipal()
    - Получить пароль аутентифицированного пользователя: getCredentials()
    - Получить назначенные роли аутентифицированного пользователя: getAuthorities()
    - Получить дополнительную информацию об аутентифицированном пользователе: getDetails()

    Вы можете добавить к Model текущему авторизованному пользователю в вашем контроллере:

    public String foo(Model model) {
        User user = (User) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
        String username = user.getUsername();
        model.addAttribute("username", username);
        return "your_view";
    }

    а затем в вашем html:
    <td th:each="user : ${user}">
        <a th:if="${username == user.username}" th:href="@{/profile/{id}(id=${user.id}}">Profile</a>
    </td>
    Ответ написан
    Комментировать