Как получить имя пользователя из SessionRegistry, он всегда возвращает пользователя ADMIN

Я использую 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>

Может быть, кто-нибудь укажет мне правильное направление.

Заранее спасибо.

0
0
38
1

Ответы 1

Что ж, задав вопрос, я сразу нашел решение. Мне пришлось изменить следующую строку. Не знаю, как мне удалось это контролировать.

model.addAttribute("loggedInUser", loggedUsers);

Другие вопросы по теме