【问题标题】:Adding new attributes to the Spring MVC Session向 Spring MVC 会话添加新属性
【发布时间】:2014-04-18 21:23:18
【问题描述】:

在我的项目中,我使用的是 Spring Security。要获取当前用户名,我正在访问 SpringContextHolder

UserDetails principal = (UserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
username = principal.getUsername()

使用org.springframework.security.core.userdetails.UserDetails 对象我只能检索有限的信息,如用户名、密码、角色等。如果我想检索用户 ID 怎么办?我是否需要每次都进行数据库调用以获取与用户名对应的更多用户详细信息?我不能为会话对象设置属性吗?在大部分帖子中,使用ModelAndView 对象提出了解决方案。但就我而言,视图层不需要 SessionAttributes,但业务逻辑层也需要。

主要是我想以某种方式持久化 UserID 和 ClientID 以便随时随地访问。

【问题讨论】:

    标签: java spring session spring-mvc spring-security


    【解决方案1】:

    您可以编写自定义 UserDetails 和 UserDetailsS​​ervice

    Spring Security: custom userdetails

    Custom UserDetailsService example for spring 3 security

    【讨论】:

      猜你喜欢
      • 2017-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-08
      • 2021-07-14
      • 2013-08-15
      • 1970-01-01
      • 2012-05-31
      相关资源
      最近更新 更多