Spring 如何从SessionRegistry获取用户名,它总是返回ADMIN user
我正在使用SpringSecurity,我想创建一个页面,显示所有当前登录的用户 为了实现这一点,我有以下代码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 :
@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);