在我的项目中,我正在使用spring security。要获取当前用户名,我将访问SpringContextHolder
UserDetails principal = (UserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
username = principal.getUsername()
使用org.springframework.security.core.userdetails.UserDetails
对象我只能检索有限的信息,如用户名,密码,角色等。如果我想检索用户ID怎么办?我是否需要每次都进行数据库调用以获取与用户名相对应的更多用户详细信息?我不能将属性设置为会话对象吗?在大多数帖子中,使用ModelAndView
对象提出了解决方案。但就我而言,我不需要ViewAttributes用于视图层,但也需要业务逻辑层。
主要是我希望以某种方式持久存在UserID和ClientID,以便随时随地访问。