Spring 如何从SessionRegistry获取用户名,它总是返回ADMIN user

Spring 如何从SessionRegistry获取用户名,它总是返回ADMIN user,spring,spring-boot,spring-security,Spring,Spring Boot,Spring Security,我正在使用SpringSecurity,我想创建一个页面,显示所有当前登录的用户 为了实现这一点,我有以下代码 @RequestMapping(value="/users" , method=RequestMethod.GET) public String users(Model model) { List<Object> loggedUsers = sessionRegistry.getAllPrincipals(); for (Object principal :

我正在使用SpringSecurity,我想创建一个页面,显示所有当前登录的用户

为了实现这一点,我有以下代码

@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";
}
@RequestMapping(value=“/users”,method=RequestMethod.GET)
公共字符串用户(模型)
{
List loggedUsers=sessionRegistry.getAllPrinciples();
for(对象主体:loggedUsers){
最终用户loggedUser=(用户)主体;
addAttribute(“loggedInUser”,loggedUser);
}
List users=userRepository.findAll();
如果(用户!=null)
{
model.addAttribute(“benutzern”,用户);
}
返回“用户”;
}
然而,我总是只得到管理员用户

在 最终用户loggedUser=(用户)主体; 我总是得到我的管理员用户以及我的其他用户。因此,这是完美的

我想我的问题是在网页上,但我不知道具体在哪里

以下用户当前已登录:

<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);