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