Я использую Spring Security и хочу создать страницу, на которой будут показаны все текущие пользователи, которые вошли в систему.
Для этого у меня есть этот код.
@RequestMapping(value = "/users" , method=RequestMethod.GET)
public String users(Model model)
{
List<Object> loggedUsers = sessionRegistry.getAllPrincipals();
for (Object principal : loggedUsers) {
final User loggedUser = (User) principal;
model.addAttribute("loggedInUser", loggedUser);
}
List<Benutzer> users = userRepository.findAll();
if (users !=null)
{
model.addAttribute("benutzern",users);
}
return "users";
}
Однако я всегда получаю только пользователя ADMIN.
В final Пользователь loggedUser = (Пользователь) участник; Я всегда получаю своего пользователя ADMIN, а также другого пользователя. Так что это отлично работает.
Я думаю, что моя проблема в веб-странице, но я не знаю, где именно.
Следующие пользователи в настоящее время вошли в систему:
<table class = "table table-striped">
<thead>
<tr>
<th>Benutzername</th>
<th>Anzeigename</th>
<th>Dienstnummer</th>
</tr>
</thead>
<dl th:each = "user : ${loggedInUser}">
<tr>
<td th:text = "${user.username}">benutzername</td>
</tr>
</table>
Может быть, кто-нибудь укажет мне правильное направление.
Заранее спасибо.
Что ж, задав вопрос, я сразу нашел решение. Мне пришлось изменить следующую строку. Не знаю, как мне удалось это контролировать.
model.addAttribute("loggedInUser", loggedUsers);