Мне нравится знать, кто в данный момент идет к контроллеру, и контроллер будет извлекать данные из базы данных, основываясь на том, кто пользователь. Есть ли способ узнать, кто пользователь, или имя пользователя должно быть сохранено во внешнем интерфейсе приложения. Я попробовал это в контроллере.
Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
String username = "";
if (principal instanceof UserDetails) {
username = ((UserDetails) principal).getUsername();
} else {
username = principal.toString();
}
System.out.print("email is:" + username);
Однако, он возвращает anonymousUser, который не является именем пользователя в базе данных.
Любые идеи о том, что я делаю неправильно. TIA