若依微服务如何获取用户登录信息

文章目录

  • 1、需求提出
  • 2、应用场景
  • 3、解决思路
  • 4、注意事项
  • 5、完整代码
    • 第一步:后端获取当前用户信息
    • 第二步:前端获取当前用户信息
  • 5、运行结果
  • 6、总结

1、需求提出

在微服务架构中,获取当前用户的登录信息是开发常见的需求。无论是后端处理业务逻辑,还是前端展示用户相关信息,都需要通过合适的方式获取当前登录的用户身份信息。

2、应用场景

  1. 后端权限控制:根据当前用户的信息执行不同的权限判断和业务逻辑。
  2. 前端展示:展示当前用户的个人信息,例如用户名、头像等。
  3. 多角色支持:根据不同角色的信息,返回不同的服务内容或界面。

3、解决思路

  • 后端:使用 SecurityUtils 获取当前用户信息,包括用户名、用户ID、以及完整的登录信息。
  • 前端:通过 Vuex 状态管理来获取当前登录的用户名。

4、注意事项

  1. 安全性:确保用户信息在存储和传输过程中加密,防止敏感数据泄露。
  2. 前后端同步:前端和后端获取的用户信息要保持一致,避免数据不同步问题。
  3. 权限管理:获取到的用户信息可以用于权限控制,因此要确保系统中角色和权限的正确配置。

5、完整代码

第一步:后端获取当前用户信息

在后端代码中,使用 SecurityUtils 工具类可以方便地获取当前用户的各种信息:

java 复制代码
// 获取当前用户名
String username = SecurityUtils.getUsername();  

// 获取当前用户ID
Long userid = SecurityUtils.getUserId();  

// 获取当前的登录用户对象
LoginUser loginUser = SecurityUtils.getLoginUser();

💡 说明:

  • SecurityUtils.getUsername() 用于获取当前登录的用户名。
  • SecurityUtils.getUserId() 获取当前登录用户的ID。
  • SecurityUtils.getLoginUser() 获取当前登录用户的详细信息对象。

第二步:前端获取当前用户信息

在 Vue 前端中,通过 Vuex 状态管理可以获取当前用户的基本信息:

javascript 复制代码
 // 获取当前用户名
var username = this.$store.state.user.name;

💡 说明:

  • this.$store.state.user.name 获取当前存储在 Vuex 中的用户名信息。
  • 请确保在用户登录时将相关信息保存到 Vuex 的 user 状态中。

5、运行结果

  1. 后端测试:
    调用后端接口时,可以通过 SecurityUtils 获取当前用户的登录信息,确保后端服务根据用户信息执行正确的权限校验和业务逻辑。
  2. 前端展示:
    前端通过 Vuex 获取当前用户的用户名或其他信息,可以在页面中动态展示,例如在导航栏中显示用户的名字,或者根据用户的角色展示不同的界面内容。

6、总结

通过 SecurityUtils 工具类,后端能够轻松获取当前用户的详细信息;而前端则通过 Vuex 管理用户的状态,确保前后端用户信息同步。通过这种方式,若依微服务能够方便地在不同层级处理用户信息,满足权限控制和动态展示的需求。

相关推荐
PBitW16 小时前
工作两年,从自己造轮子,变成使用开源项目!
前端·开源·若依·为什么使用开源项目·不自己造轮子
好学且牛逼的马15 天前
【若依 | day36 2-底层原理】
若依
三角叶蕨23 天前
二次开发(部分)
若依
q_19132846951 个月前
基于SpringBoot+Vue+若依的医院管理系统挂号系统
java·vue.js·spring boot·后端·毕业设计·若依
humors2211 个月前
前端开发案例(不定期更新)
前端·vue.js·elementui·ruoyi·若依
q_19132846952 个月前
基于RuoYi框架+Mysql的汽车进销存后台管理系统
数据库·vue.js·spring boot·mysql·汽车·个人开发·若依
潇I洒3 个月前
若依4.8.1打包war后在Tomcat无法运行,404报错的一个解决方法
java·tomcat·ruoyi·若依·404
牛马程序员‍4 个月前
Day116 若依融合mqtt
java·mqtt·若依·mqttx
JosieBook4 个月前
【web应用】若依框架:基础篇18-二次开发-菜品管理
web·若依
弗锐土豆5 个月前
一个基于若依(ruoyi-vue3)的小项目部署记录
前端·vue.js·部署·springcloud·ruoyi·若依