闲聊
一般情况下,我们想用uid,可能需要前端将uid传过来,或者将token传来,然后我们进行识别。
用了sa-token之后,可以使用StpUtil.getLoginId()方法获取当前会话的用户id
代码展示
例如以下代码:
public ResponseResult getMenu() {
// 获取用户角色
Long uid = Long.parseLong(StpUtil.getLoginId().toString());
log.info("获得用户id:"+uid);
UserInfo userInfo = userMapper.getUserById(uid);
log.info("获得用户权限:"+userInfo.getRoleId());
// 获取所有激活的状态菜单
List<MenuDataItem> menus = systemMapper.getMenus(userInfo.getRoleId());
return ResponseResult.success(menus);
}
我们需要用户id来查询用户角色,因此使用StpUtil.getLoginId()直接获取到用户的id来进行操作
测试
现在有admin和root两个角色,我们可以通过加载菜单的情况看到:多用户同时登录的情况下,StpUtil.getLoginId()是能正确获取到对应用户id的。
标签:StpUtil,uid,用户,token,getLoginId,sa,id From: https://www.cnblogs.com/mllt/p/18519911/satoken-getLoginUserId