当前位置: 首页 > 知识库问答 >
问题:

向Spring MVC会话添加新属性

卞经业
2023-03-14

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

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

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

我主要希望以某种方式持久化UserID和ClientID,以便在需要时随时随地访问。

共有1个答案

袁开宇
2023-03-14

您可以编写自定义UserDetails和UserDetailsService

Spring Security:自定义用户详细信息

Spring 3安全的自定义UserDetailsService示例

 类似资料:
  • 下面是使用的示例。向导完成后,如何清除用户会话属性?在我的示例中,在返回到之后会话属性仍然存在。我尝试了和,但它不起作用。 我的错误<代码>状态。setComplete() 工作正常<代码>会话。removeAttribute(“用户”)在这里不需要做什么。

  • 我想在我雄辩的模型中推一个额外的计算属性,我想在我的边栏选项卡中使用它作为

  • 我正在为在拉雷维尔开会的客人建造一辆购物车。我可以向会话变量“cart”添加一个带有数量的产品但是,当我再次添加相同的产品时,我无法增加数量,因为我无法在数组中搜索相同的产品ID。 控制器 我正在将数据从我的AppServiceProvider传递到购物车: 查看 当相同的产品被添加到购物车时,我希望数量增加。如果没有,则向会话数组添加新产品id和数量

  • 第一件事:这是我在stackoverflow上发布的第一个问题。换句话说,这是我在你们的帮助下无法独自解决的第一个问题(非常感谢你们,你们让世界运转起来!)。 我的问题与@LoictheAztec对另一个问题的回答有关(我原本计划在那篇文章的评论中发布我的问题,但由于我是/曾经是潜伏者,我缺乏这样做的声誉):https://stackoverflow.com/a/47766413/13263330

  • 问题内容: $(‘div’).data(‘info’, 1); 我在jquery中创建元素。之后,我要添加属性“数据”。他很喜欢,并且被添加了,但是在DOM中,这并不明显,我无法使用 问题答案: 使用方法: 请注意,这不会创建实际的属性。如果需要创建属性,请使用:

  • 问题内容: 这件事困扰了我一段时间。我为什么不能做: …虽然我可以执行以下操作? 这是什么规则?您能给我介绍一下吗? 问题答案: 您可以向具有的任何对象添加属性。 例如,没有它。 字符串和其他简单的内置对象也没有它。 使用类也没有它。 除非前面的声明适用,否则用定义的类都具有它。 如果使用/的对象没有/ ,通常是为了节省空间。例如,如果有一个命令,那就太过分了- 想象一下一个非常短的字符串的膨胀程