如何获取当前系统所有登录用户信息呢

来源:4-6 认证流程源码级详解

TinyLeon

2018-03-31

@GetMapping("/me")

public Object getCurrentUser(){

return SecurityContextHolder.getContext().getAuthentication();

}

老师好,老师在讲课中提到用上面的方法获取当前认证用户信息。如果系统想让管理员看到所有正在登录的系统,这个如何实现呢?谢谢老师!

写回答

1回答

JoJo

2018-04-02

分布式环境中,每个机器都有一堆用户,所以需要在数据库创建个表,然后在AuthenticationSuccessHandler中往这个表添加记录,在LogoutSuccessHandler中清除记录。同时监听 HttpSessionDestroyedEvent 事件,当session到期销毁时也要清除记录。这样,这个表里就是当前的登录用户的数据了。

0
0

Spring Security技术栈开发企业级认证与授权

Spring Security技术栈,REST风格开发常见接口,独立开发认证授权模块保证REST服务安全

2662 学习 · 1561 问题

查看课程