后端框架 · RuoYi-Vue-Plus框架功能基础功能
系统用户相关
功能概览
- 基于
Sa-Token实现认证与权限控制 - 框架对 Sa-Token API 做了业务封装
- 登录数据来源不限制,只需构建
LoginUser
登录与 Token
完成登录后会返回 token,前端需在请求头携带:
Authorization: Bearer token
前端项目默认还会同时携带:
clientid: 前端配置的客户端ID
补充说明:
plus-ui默认会把Authorization和clientid一起放到请求头- 后端登录时会把
clientid写入 token 扩展信息,并校验“请求头里的clientid”是否和“token 里的clientid”一致 - 如果你新增了新的终端或客户端,前端
VITE_APP_CLIENT_ID需要和后端客户端配置保持一致,否则容易出现“客户端ID与Token不匹配”
后端获取当前登录用户:
LoginUser user = LoginHelper.getLoginUser();基于 token 获取用户信息:
LoginUser user = LoginHelper.getLoginUser(token);常用 API
// 获取登录用户 ID
Long userId = LoginHelper.getUserId();
// 获取登录用户账号
String username = LoginHelper.getUsername();
// 获取登录用户租户 ID
String tenantId = LoginHelper.getTenantId();
// 获取登录用户部门 ID
Long deptId = LoginHelper.getDeptId();
// 获取登录用户类型
UserType userType = LoginHelper.getUserType();扩展属性
获取扩展属性:
Object obj = LoginHelper.getExtra(key);设置扩展属性示例(如登录时设置 clientId):

框架默认已经把常见登录上下文放进 token 扩展信息,例如:
tenantIduserIduserNamedeptIddeptNamedeptCategoryclientid
权限判断
是否为超级管理员:
boolean b = LoginHelper.isSuperAdmin();
boolean b = LoginHelper.isSuperAdmin(userId);是否为租户管理员:
boolean b = LoginHelper.isTenantAdmin();
// 示例:基于角色组判断
boolean b = LoginHelper.isSuperAdmin(rolePermission);参考文档
更多登录认证相关能力请参考:Sa-Token 官方文档 - 登录认证