框架获取当前登录用户以及用户信息

本文介绍了Ruoyi和Jeecg两个流行框架中如何从前端和后端获取当前登录用户的信息,包括用户名、账号及判断是否为管理员等关键操作。

优快云话题挑战赛第2期
参赛话题:学习笔记

优快云

📫 作者简介:「六月暴雪飞梨花」,专注于研究Java,就职于科技型公司后端工程师
🏆 近期荣誉:华为云云享专家、阿里云专家博主、腾讯云优秀创作者、腾讯云TDP-KOL、ACDU成员、墨天轮技术专家博主
🔥 三连支持:欢迎 ❤️关注、👍点赞、👉收藏三连,支持一下博主~

前言

无论是哪一个框架,获取当前登录用户信息是必不可少的,做一些功能的时候我们肯定得用到当前登陆者信息,所以我就查找了一下几个框架是如何获取当前用户信息,例如在若依框架中,用this.$store.state.user就可以获取到。当获得的信息是极少时,不足够我们做其他功能时,当然你也可以自己在这个获取的基础上面增加所需信息即可。

一 Ruoyi 框架

1 前端

1.1 首先引入store

	import store from '@/store'

1.2 其次在代码中使用store

	var userName = this.$store.state.user.name;

2 后端

SecurityUtils是若依的一个安全服务工具类,里面封装了用户信息,可以用于获取和判断当前登录的用户信息。

在这里插入图片描述

获取当前登录用户

LoginUser loginUser = SecurityUtils.getLoginUser();

获取当前登录用户的账号

String createAccount = SecurityUtils.getUsername();

判断是否是管理员:

String isAdmin = SecurityUtils.isAdmin(1234);

二 jeecg 框架

1 前端

在这里插入图片描述

1.1 首先在代码中引入store

	import store from '@/store'

1.2 然后在代码中使用store

	let username = store.getters.userInfo.username

2 后端

org.apache.shiro.SecurityUtils 是使用了Apache Shiro框架的认证,所以这里直接使用SecurityUtils类来获取用户即可。

在这里插入图片描述
获取当前登录用户

LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();

总结

很多框架都是有一些特定的类或者方法来获取当前登录用户信息,希望大家多总结多查阅。我是「六月暴雪飞梨花」,欢迎关注我~


欢迎关注博主 「六月暴雪飞梨花」 或加入【六月暴雪飞梨花社区】一起学习和分享Linux、C、C++、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。

在 Gin 框架中,你可以使用中间件来实现获取当前登录用户的 ID。下面是一个示例代码,演示了如何在 Gin 框架获取当前登录用户的 ID: ```go // 定义一个中间件函数,用于验证用户是否登录 func AuthMiddleware() gin.HandlerFunc { return func(c *gin.Context) { // 在这里进行用户登录验证的逻辑 // 假设验证成功,并且从验证结果中获取用户的 ID userID := "123" // 假设用户 ID 是 "123" // 将用户 ID 存储到 Context 中 c.Set("userID", userID) c.Next() } } // 在路由中使用中间件 func main() { r := gin.Default() // 使用 AuthMiddleware 中间件 r.Use(AuthMiddleware()) // 定义一个需要获取当前登录用户 ID 的路由 r.GET("/user/id", func(c *gin.Context) { // 从 Context 中获取用户 ID userID, exists := c.Get("userID") if !exists { c.JSON(http.StatusUnauthorized, gin.H{ "error": "未登录", }) return } c.JSON(http.StatusOK, gin.H{ "userID": userID, }) }) r.Run(":8080") } ``` 在上述示例中,我们定义了一个名为 `AuthMiddleware` 的中间件函数,用于验证用户是否登录。在验证成功后,我们将用户 ID 存储到 Gin 的 Context 中,然后可以在后续的路由处理函数中通过 `c.Get("userID")` 获取当前登录用户的 ID。 当访问 `/user/id` 路径时,如果用户登录,将返回当前登录用户的 ID;如果用户登录,将返回未登录的错误信息。请根据你的实际情况进行修改和适配。
评论 35
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

六月暴雪飞梨花

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值