Я хотел бы знать, как я могу получить объект User из Thymeleaf. В настоящее время я вызываю свой userService, который получит пользователя из БД. Мне не нравится этот подход, потому что для каждого вызова будет выполнен запрос db.Spring boot + thymeleaf: войти в систему пользователя
Возможно ли получить пользователя из памяти?
<link href="/css/style2.css"
th:if="${@commanderService.getCurrentCommander()} and
${@commanderService.getCurrentCommander().settings == 'template=1'}"
rel="stylesheet" type="text/css" />
CommanderService:
public Commander getCurrentCommander() {
Object principal =
SecurityContextHolder.getContext().getAuthentication().getPrincipal();
Commander commander = findByName((String)principal);
return commander;
}
у вас есть доступ к принципалу в 'RequestMappingMethod' –
Вы используете пользовательский UserDetailsService? Если да, можете ли вы предоставить свою реализацию? –
Роберт: да, но его пустой. Он имеет только метод findUserByName, который возвращает null. –