新闻详情

新闻详情

首页 / 资讯中心 / 详情

【项目】【在线判题系统】获取当前管理原员信息与管理员退出登陆

发布时间:2026/9/4 16:06:01来源:尧图网络
【项目】【在线判题系统】获取当前管理原员信息与管理员退出登陆
目录一、获取当前用户信息1.1 controller1.2 service二、退出登录2.1 controller2.2 service一、获取当前用户信息流程分析前端携带着token向后端发起请求(放在请求头中)通过token进行身份认证。身份认证失败直接结束。身份认证成功接着执行第三步。解析token从token中获取用户唯一标识通过用户的唯一标识从redis获取当前用户的信息redis 获取到的用户信息返回给前端。如果获取失败失败的原因也应该返给前端。1.1 controllercom.yj.system.controller.SysUserController类下添加方法/** * 获取当前用户信息 * param token * return */GetMapping(/info)publicRLoginUserVOinfo(RequestHeader(HttpConstants.AUTHENTICATION)Stringtoken){returnsysUserService.info(token);}packagecom.yj.common.core.domain.vo;importlombok.Getter;importlombok.Setter;GetterSetterpublicclassLoginUserVO{privateStringnickName;}1.2 servicecom.yj.system.service.ISysUserService接口RLoginUserVOinfo(Stringtoken);oj-modules/oj-system/src/main/java/com/yj/system/service/impl/SysUserServiceImpl.java实现OverridepublicRLoginUserVOinfo(Stringtoken){//添加前缀if(StrUtil.isNotEmpty(token)token.startsWith(HttpConstants.PREFIX)){tokentoken.replaceFirst(HttpConstants.PREFIX,StrUtil.EMPTY);}//在redis先行获取LoginUserloginUsertokenService.getLoginUser(token,jwtSecret);if(nullloginUser){returnR.fail();}LoginUserVOloginUserVOnewLoginUserVO();loginUserVO.setNickName(loginUser.getNickName());returnR.success(loginUserVO);}oj-common/oj-common-security/src/main/java/com/yj/common/security/service/TokenService.javaredis线管添加获取缓存中的用户信息publicLoginUsergetLoginUser(Stringtoken,StringjwtSecret){StringuserKeygetUserKey(token,jwtSecret);if(nulluserKey)returnnull;returnredisService.getCacheObject(getTokenKey(userKey),LoginUser.class);}二、退出登录用户点击退出登录并且确认退出将退出登录请求(携带token)发送至后端。(1.后端得先验证用户是处于登录状态并且需要验证用户是管理员用户后端处理退出登录的逻辑(将redis中的用户数据删除让token认证失败)返回结果如果失败流程结束继续保持登录状态停留在当前页面。如果成功执行后续流程。前端清除存储的token返回登录页面2.1 controllercom.yj.system.controller.SysUserController类下添加方法/** * 退出登录 * param token * return */DeleteMapping(/logout)publicRVoidlogout(RequestHeader(HttpConstants.AUTHENTICATION)Stringtoken){returntoR(sysUserService.logout(token));}2.2 servicecom.yj.system.service.ISysUserService接口booleanlogout(Stringtoken);oj-modules/oj-system/src/main/java/com/yj/system/service/impl/SysUserServiceImpl.java实现Overridepublicbooleanlogout(Stringtoken){if(StrUtil.isNotEmpty(token)token.startsWith(HttpConstants.PREFIX)){tokentoken.replaceFirst(HttpConstants.PREFIX,StrUtil.EMPTY);}returntokenService.deleteLoginUser(token,jwtSecret);}oj-common/oj-common-security/src/main/java/com/yj/common/security/service/TokenService.javaredis中删除缓存中的用户信息publicbooleandeleteLoginUser(Stringtoken,StringjwtSecret){StringuserKeygetUserKey(token,jwtSecret);if(nulluserKey)returnfalse;returnredisService.deleteObject((getTokenKey(userKey)));}
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

基于YOLO的金鱼疾病智能检测:从数据集构建到模型部署全流程实践 2026/9/4 16:54:22

基于YOLO的金鱼疾病智能检测:从数据集构建到模型部署全流程实践

简介:本资源是面向农业AI、水产养殖智能化及计算机视觉初学者与研究者的YOLO目标检测专用数据集,聚焦金鱼健康状态识别这一细分渔业场景,解决家庭鱼缸与商业养殖场中疾病早期自动判别难题。数据集共1657个文件,含828张JPG金鱼实拍…

阅读更多 →
肾脏肿瘤语义分割数据集:临床可用的医学AI数据范式 2026/9/4 16:54:22

肾脏肿瘤语义分割数据集:临床可用的医学AI数据范式

简介:本资源是面向医学图像分析初学者与深度学习实践者的肾脏肿瘤语义分割专用数据集,聚焦于临床辅助诊断中的关键任务——精准区分背景、正常肾脏组织与恶性肿瘤区域。数据集共2800张配对样本,已严格划分为训练集(约2000张&#…

阅读更多 →
08 - 《洪流之上》专题系列·深度理解测试卷 2026/9/4 16:54:22

08 - 《洪流之上》专题系列·深度理解测试卷

如果你觉得这30道题很简单,说明你只读懂了字面意思。 如果你觉得这30道题很困难,说明你开始触及真正的深度了。 如果你做完后发现自己错了一半以上,恭喜你——你刚刚发现了自己的“认知盲区”。 这套题不考记忆,考理解;不考复述,考迁移。每一个选项都经过精心设计,每一…

阅读更多 →
基于YOLOv10与Sixray的X光安检违禁品AI检测实战指南 2026/9/4 16:54:22

基于YOLOv10与Sixray的X光安检违禁品AI检测实战指南

简介:本资源是一套面向本科及研究生层次的深度学习实战项目,聚焦X光安检图像中违禁物品的高精度自动识别,适用于毕业设计、课程设计与期末大作业等工程实践场景。项目融合SixRay(专优小目标检测)与YOLOv10(…

阅读更多 →
Yolo 小白入门 53:混淆矩阵怎么读?一眼定位最容易认错的类别 2026/9/4 16:54:22

Yolo 小白入门 53:混淆矩阵怎么读?一眼定位最容易认错的类别

Yolo 小白入门 53:混淆矩阵怎么读?一眼定位最容易认错的类别 [!NOTE] 你现在位于《Yolo 全速入门到精通【持续更新中】》的 第六章 评估错误诊断。这一篇不追求堆满参数,而是带你拆清“混淆矩阵”的最小可验证闭环,并能说清它在数据、模型与业务之间的位置。我们用 ultral…

阅读更多 →
从 DEFINE 到 GET_LAST_MODIFIED 深入理解 /IWBEP/CL_MGW_ABS_MODEL 与 SAP Gateway 元数据缓存机制 2026/9/4 16:51:21

从 DEFINE 到 GET_LAST_MODIFIED 深入理解 /IWBEP/CL_MGW_ABS_MODEL 与 SAP Gateway 元数据缓存机制

在 SEGW 里生成一个经典的 SAP Gateway OData V2 服务后,进入 Runtime Artifacts,经常会看到一组非常熟悉的 ABAP 类,XXX_MPC、XXX_MPC_EXT、XXX_DPC 和 XXX_DPC_EXT。平时业务开发最容易把精力放在 DPC_EXT,因为读取订单、创建业务对象、处理 $filter、实现 Function Impo…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞