# 系统用户相关 - - - > 框架采用sa-token控制权限 并对sa-token的api做了一定的业务封装
## 用户登录 > 参考自带多种登录实现 不限制用户数据来源 只需要构建 LoginUser 即可完成登录
> 例如: `同表不同类型` `不同表` `同表+扩展表`
![输入图片说明](https://foruda.gitee.com/images/1699590555824776931/63d493fc_1766278.png "屏幕截图") ## 获取用户信息 > 完成登录后会生成登录token返回给前端 前端需要再请求头携带token 后端方可获取到对应的用户信息 请求头传递格式: `Authorization: Bearer token` 后端获取用户信息: ```java LoginUser user = LoginHelper.getLoginUser(); ``` ## 获取用户信息(基于token) ```java LoginUser user = LoginHelper.getLoginUser(token); ``` ## 获取登录用户id ```java Long userId = LoginHelper.getUserId(); ``` ## 获取登录用户账户名 ```java String username = LoginHelper.getUsername(); ``` ## 获取登录用户所属租户id ```java String tenantId = LoginHelper.getTenantId(); ``` ## 获取登录用户所属部门id ```java Long deptId = LoginHelper.getDeptId(); ``` ## 获取登录用户类型 ```java UserType userType = LoginHelper.getUserType(); ``` ## 获取登录用户其他扩展属性 ```java Object obj = LoginHelper.getExtra(key); ``` ## 设置登录用户其他扩展属性 参考登录设置 `clientId` 属性 ![输入图片说明](https://foruda.gitee.com/images/1699591164562734430/42730add_1766278.png "屏幕截图") ## 判断用户是否为超级管理员 ```java // 判断当前登录用户 boolean b = LoginHelper.isSuperAdmin(); // 判断用户基于id boolean b = LoginHelper.isSuperAdmin(userId); ``` ## 判断用户是否为租户管理员 ```java // 判断当前登录用户 boolean b = LoginHelper.isTenantAdmin(); // 判断用户基于角色组 boolean b = LoginHelper.isSuperAdmin(rolePermission); ``` ## 其他更多操作 [Sa-Token 官方文档 - 登录认证](https://sa-token.cc/doc.html#/use/login-auth)