有个问题求解来个666的选手

用的是若依框架 用的工具类 但是set了个空数据 是咋回事


  /**
     * 新增保存签到
     */
    @PostMapping("/add")
    @ResponseBody
    public AjaxResult addSave(Signin signin)
    {
        signin.setName(ShiroUtils.getLoginName());
        signin.setSignInIp(ShiroUtils.getIp());
        signin.setState("1");
        System.out.println("userName="+ShiroUtils.getUserName());
        signin.setCheckInTime(DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD_HH_MM_SS));
        return toAjax(signinService.insertSignin(signin));
    }

img

你得看看getSysUser是怎么实现的,是从cookie中还是session中拿到的数据。这样的话,你得登录了,才能拿到数据

你这2张图哪儿体现出 set了空数据;
我猜你应该先去了解 ThreadLocal

建议用debug看看哪个地方为nul了

ShiroUtils是获取已经登录用户的,首先你要确保你已经登录了,在调用这个方法获取登录名等数据,看你的写法,应该是直接提供给外部的接口,那种的话不能直接直接取shiro的用户信息,直接传个ID绑定用户ID好了。