weixin_39940517 2022-04-19 10:44 采纳率: 0%
浏览 44

SpringSecurity获取当前用户,程序运行一段时间后此方法无返回

springsecurity获取当前用户,测试时一切正常,但是在服务器上跑个十天半个月之后获取当前用户的方法就会无返回,导致前端登录不上
public CommonResult<User> getCurrentUser() {
        logger.info("开始查询当前登录用户");
        String name = (String) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
        User user = mapper.loadUserByUserName(name);
        logger.info("当前登录用户为{}", name);
        return new CommonResult<>(200, true, "查询成功,当前登录用户为" + name, user);
    }
后台日志无报错,也没有打印输出,该程序其他接口可以正常返回
目前我怀疑是String name = (String) SecurityContextHolder.getContext().getAuthentication().getPrincipal();这段代码阻塞住了,但是bug无法复现
求解答~
  • 写回答

3条回答 默认 最新

  • a1767028198 2022-04-19 10:56
    关注

    系统多加日志,让程序增加输出,再看结果吧,这里获取数据一般不会卡死,数据存到ThreadLocal中的,除非内存泄漏,不然那查询速度很快的

    评论

报告相同问题?

问题事件

  • 创建了问题 4月19日

悬赏问题

  • ¥350 麦克风声源定位坐标不准
  • ¥15 apifox与swagger使用
  • ¥15 egg异步请求返回404的问题
  • ¥20 Ti毫米波雷达板同步
  • ¥15 安装了kali后用VM打开,没有鼠标且无法控制怎么办啊
  • ¥15 关于#python#的问题:无功优化问题数学建模要以3机9节点为算例编写一个以最小有功网损为目标的无功优化问题,想要了解清楚其中数学建模的具体公式进行学习
  • ¥15 mvc采用element分页的问题
  • ¥15 proteus怎样构建他励直流发电机模型?
  • ¥15 求制作PPT有偿,帮
  • ¥20 显示在此环境中不可导入Django