From f198ddfd5526559795b8f6594320be959b9bd7f6 Mon Sep 17 00:00:00 2001 From: chenyanchang <30190327@qq.com> Date: Mon, 25 May 2026 23:54:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=EF=BC=9A=E5=8D=95=E7=82=B9?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E5=90=8E=EF=BC=8C=E4=B8=BAsysuser=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E8=A7=92=E8=89=B2=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/system/SysLoginController.java | 3 --- .../framework/web/service/SsoService.java | 19 +++++++++++++++++-- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java index 3746e53..f9d5b55 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java @@ -163,14 +163,11 @@ public class SysLoginController SysUser user = SecurityUtils.getLoginUser().getUser(); // 角色集合 Set roles = permissionService.getRolePermission(user); -// List sysRole = permissionService.getSysRolePermission(user); -// user.setRoles(sysRole); // 权限集合 Set permissions = permissionService.getMenuPermission(user); AjaxResult ajax = AjaxResult.success(); ajax.put("user", user); ajax.put("roles", roles); -// ajax.put("sysRole", sysRole); ajax.put("permissions", permissions); return ajax; } diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SsoService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SsoService.java index 29aa1ff..d8f8fb6 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SsoService.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SsoService.java @@ -6,6 +6,7 @@ import com.ruoyi.cms.service.impl.AppUserServiceImpl; import com.ruoyi.cms.util.StringUtil; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.domain.entity.AppUser; +import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.model.LoginSiteUser; import com.ruoyi.common.core.domain.model.LoginUser; @@ -18,6 +19,7 @@ import com.ruoyi.framework.manager.AsyncManager; import com.ruoyi.framework.manager.factory.AsyncFactory; import com.ruoyi.system.domain.SysUserRole; import com.ruoyi.system.mapper.SysUserRoleMapper; +import com.ruoyi.system.service.impl.SysRoleServiceImpl; import com.ruoyi.system.service.impl.SysUserServiceImpl; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; @@ -63,6 +65,9 @@ public class SsoService { @Autowired private SysUserRoleMapper sysUserRoleMapper; + @Autowired + private SysRoleServiceImpl sysRoleService; + //一体机,pc个人,企业 @Value("${lc_web_auth.appId}") String webAppId; @@ -249,6 +254,11 @@ public class SsoService { if (sysUser == null) { sysUser = saveSysUser(userJson, appUser.getUserId()); } + //设置角色 + List roles = sysRoleService.selectRolesByUserId(sysUser.getUserId()); + if (sysUser != null) { + sysUser.setRoles(roles); + } //用户存在,生成本系统用户的token String token = loginSysUser(sysUser, userJson.getString("userName")); JSONObject backJson = new JSONObject(); @@ -330,10 +340,15 @@ public class SsoService { } else { sysUser = sysUserService.selectUserById(userJson.getLong("userId")); } + if (sysUser == null) { sysUser = saveSysUser(userJson, appUserId); } - + //设置角色 + List roles = sysRoleService.selectRolesByUserId(sysUser.getUserId()); + if (sysUser != null) { + sysUser.setRoles(roles); + } //用户存在,生成本系统用户的token String token = loginSysUser(sysUser, userJson.getString("userName")); JSONObject backJson = new JSONObject(); @@ -493,7 +508,7 @@ public class SsoService { JSONArray roles = userJson.getJSONArray("roles"); if (CollectionUtils.isNotEmpty(roles) && roles.size() != 0) { List list = new ArrayList<>(); - for (int i=0; i