更新:单点登录后,为sysuser获取角色。
This commit is contained in:
@@ -163,14 +163,11 @@ public class SysLoginController
|
|||||||
SysUser user = SecurityUtils.getLoginUser().getUser();
|
SysUser user = SecurityUtils.getLoginUser().getUser();
|
||||||
// 角色集合
|
// 角色集合
|
||||||
Set<String> roles = permissionService.getRolePermission(user);
|
Set<String> roles = permissionService.getRolePermission(user);
|
||||||
// List<SysRole> sysRole = permissionService.getSysRolePermission(user);
|
|
||||||
// user.setRoles(sysRole);
|
|
||||||
// 权限集合
|
// 权限集合
|
||||||
Set<String> permissions = permissionService.getMenuPermission(user);
|
Set<String> permissions = permissionService.getMenuPermission(user);
|
||||||
AjaxResult ajax = AjaxResult.success();
|
AjaxResult ajax = AjaxResult.success();
|
||||||
ajax.put("user", user);
|
ajax.put("user", user);
|
||||||
ajax.put("roles", roles);
|
ajax.put("roles", roles);
|
||||||
// ajax.put("sysRole", sysRole);
|
|
||||||
ajax.put("permissions", permissions);
|
ajax.put("permissions", permissions);
|
||||||
return ajax;
|
return ajax;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import com.ruoyi.cms.service.impl.AppUserServiceImpl;
|
|||||||
import com.ruoyi.cms.util.StringUtil;
|
import com.ruoyi.cms.util.StringUtil;
|
||||||
import com.ruoyi.common.constant.Constants;
|
import com.ruoyi.common.constant.Constants;
|
||||||
import com.ruoyi.common.core.domain.entity.AppUser;
|
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.entity.SysUser;
|
||||||
import com.ruoyi.common.core.domain.model.LoginSiteUser;
|
import com.ruoyi.common.core.domain.model.LoginSiteUser;
|
||||||
import com.ruoyi.common.core.domain.model.LoginUser;
|
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.framework.manager.factory.AsyncFactory;
|
||||||
import com.ruoyi.system.domain.SysUserRole;
|
import com.ruoyi.system.domain.SysUserRole;
|
||||||
import com.ruoyi.system.mapper.SysUserRoleMapper;
|
import com.ruoyi.system.mapper.SysUserRoleMapper;
|
||||||
|
import com.ruoyi.system.service.impl.SysRoleServiceImpl;
|
||||||
import com.ruoyi.system.service.impl.SysUserServiceImpl;
|
import com.ruoyi.system.service.impl.SysUserServiceImpl;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.apache.commons.lang3.ObjectUtils;
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
@@ -63,6 +65,9 @@ public class SsoService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private SysUserRoleMapper sysUserRoleMapper;
|
private SysUserRoleMapper sysUserRoleMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SysRoleServiceImpl sysRoleService;
|
||||||
|
|
||||||
//一体机,pc个人,企业
|
//一体机,pc个人,企业
|
||||||
@Value("${lc_web_auth.appId}")
|
@Value("${lc_web_auth.appId}")
|
||||||
String webAppId;
|
String webAppId;
|
||||||
@@ -249,6 +254,11 @@ public class SsoService {
|
|||||||
if (sysUser == null) {
|
if (sysUser == null) {
|
||||||
sysUser = saveSysUser(userJson, appUser.getUserId());
|
sysUser = saveSysUser(userJson, appUser.getUserId());
|
||||||
}
|
}
|
||||||
|
//设置角色
|
||||||
|
List<SysRole> roles = sysRoleService.selectRolesByUserId(sysUser.getUserId());
|
||||||
|
if (sysUser != null) {
|
||||||
|
sysUser.setRoles(roles);
|
||||||
|
}
|
||||||
//用户存在,生成本系统用户的token
|
//用户存在,生成本系统用户的token
|
||||||
String token = loginSysUser(sysUser, userJson.getString("userName"));
|
String token = loginSysUser(sysUser, userJson.getString("userName"));
|
||||||
JSONObject backJson = new JSONObject();
|
JSONObject backJson = new JSONObject();
|
||||||
@@ -330,10 +340,15 @@ public class SsoService {
|
|||||||
} else {
|
} else {
|
||||||
sysUser = sysUserService.selectUserById(userJson.getLong("userId"));
|
sysUser = sysUserService.selectUserById(userJson.getLong("userId"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sysUser == null) {
|
if (sysUser == null) {
|
||||||
sysUser = saveSysUser(userJson, appUserId);
|
sysUser = saveSysUser(userJson, appUserId);
|
||||||
}
|
}
|
||||||
|
//设置角色
|
||||||
|
List<SysRole> roles = sysRoleService.selectRolesByUserId(sysUser.getUserId());
|
||||||
|
if (sysUser != null) {
|
||||||
|
sysUser.setRoles(roles);
|
||||||
|
}
|
||||||
//用户存在,生成本系统用户的token
|
//用户存在,生成本系统用户的token
|
||||||
String token = loginSysUser(sysUser, userJson.getString("userName"));
|
String token = loginSysUser(sysUser, userJson.getString("userName"));
|
||||||
JSONObject backJson = new JSONObject();
|
JSONObject backJson = new JSONObject();
|
||||||
@@ -493,7 +508,7 @@ public class SsoService {
|
|||||||
JSONArray roles = userJson.getJSONArray("roles");
|
JSONArray roles = userJson.getJSONArray("roles");
|
||||||
if (CollectionUtils.isNotEmpty(roles) && roles.size() != 0) {
|
if (CollectionUtils.isNotEmpty(roles) && roles.size() != 0) {
|
||||||
List<SysUserRole> list = new ArrayList<>();
|
List<SysUserRole> list = new ArrayList<>();
|
||||||
for (int i=0; i<roles.size(); i++) {
|
for (int i = 0; i < roles.size(); i++) {
|
||||||
JSONObject json = roles.getJSONObject(i);
|
JSONObject json = roles.getJSONObject(i);
|
||||||
SysUserRole sysUserRole = new SysUserRole();
|
SysUserRole sysUserRole = new SysUserRole();
|
||||||
sysUserRole.setRoleId(json.getLong("roleId"));
|
sysUserRole.setRoleId(json.getLong("roleId"));
|
||||||
|
|||||||
Reference in New Issue
Block a user