Как получить имя пользователя из SessionRegistry, оно всегда возвращает пользователя ADMIN - PullRequest
0 голосов
/ 09 сентября 2018

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

В конечный пользователь 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>

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

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

1 Ответ

0 голосов
/ 09 сентября 2018

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

model.addAttribute("loggedInUser", loggedUsers);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...