问答

springboot用户登录后,需要把用户信息展示到每个页面的导航栏,

作者:admin 2021-04-21 我要评论

登录的时候,使用session记录了下用户的id 我有两个思路 1、在拦截器Interceptor,在preHandle方法中,通过HttpServletRequest,获取到session,读取到用户id,查...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

登录的时候,使用session记录了下用户的id
我有两个思路
1、在拦截器Interceptor,在preHandle方法中,通过HttpServletRequest,获取到session,读取到用户id,查询到用户的信息,然后设置到request对象中(request.set("user",user));在每个展示页面的控制器方法中,通过HttpServletRequest,获取到user。
2、使用@ModelAttribute注解一个方法,在方法中获取到用户信息,添加到model中,可以直接在模板上面使用。
这种问题,通常的解决思路是什么呢?

###

通常是返回数据给前端,自己存起来

###

鉴于是 MVC 项目,所以也不存在对应接口了。就在登录的控制器方法中,如果是登录成功,将用户非敏感信息,传值到视图中,或者存入sessionStorage,或者保存在一个隐藏的div中,以属性以data开头。例如(<div data-username="example">)。后续通过 js 读取即可。
如果是使用 spring security,可以创建一个 @AuthenticationPrincipal 注解的参数注解,每次控制器方法的参数中可以自动注入当前用户信息。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • springboot用户登录后,需要把用户信息

    springboot用户登录后,需要把用户信息

  • el-input显示值和value值不一样?

    el-input显示值和value值不一样?

  • 给body添加全屏背景图(backgroung-size

    给body添加全屏背景图(backgroung-size

  • C语言链队销毁问题(求求帮帮孩子)

    C语言链队销毁问题(求求帮帮孩子)

腾讯云代理商
海外云服务器