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>