[sa-token]StpUtil.getLoginId
闲聊
一般情况下,我们想用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的。
版 权 声 明
作者:萌狼蓝天
QQ:3447902411(仅限技术交流,添加请说明方向)
转载请注明原文链接:https://www.cnblogs.com/zwj/p/18519911/satoken-getLoginUserId