用的是若依框架 用的工具类 但是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));
}
你得看看getSysUser是怎么实现的,是从cookie中还是session中拿到的数据。这样的话,你得登录了,才能拿到数据
你这2张图哪儿体现出 set了空数据;
我猜你应该先去了解 ThreadLocal
建议用debug看看哪个地方为nul了
ShiroUtils是获取已经登录用户的,首先你要确保你已经登录了,在调用这个方法获取登录名等数据,看你的写法,应该是直接提供给外部的接口,那种的话不能直接直接取shiro的用户信息,直接传个ID绑定用户ID好了。