ruanqi 2 years ago
parent
commit
303b0c879a
  1. 8
      src/main/java/com/spring/modules/sys/controller/SysMenuController.java
  2. 7
      src/main/java/com/spring/modules/sys/controller/SysRoleController.java
  3. 7
      src/main/java/com/spring/modules/sys/controller/SysUserController.java
  4. 8
      src/main/java/com/spring/modules/sys/service/impl/SysRoleServiceImpl.java
  5. 6
      src/main/java/com/spring/modules/sys/service/impl/SysUserServiceImpl.java
  6. 2
      src/main/resources/mapper/sys/SysMenuDao.xml

8
src/main/java/com/spring/modules/sys/controller/SysMenuController.java

@ -7,14 +7,17 @@ import com.spring.common.constant.SysMsgConstant;
import com.spring.common.exception.XJException; import com.spring.common.exception.XJException;
import com.spring.common.utils.Constant; import com.spring.common.utils.Constant;
import com.spring.common.utils.R; import com.spring.common.utils.R;
import com.spring.modules.sys.dao.SysMenuDao;
import com.spring.modules.sys.entity.SysMenuEntity; import com.spring.modules.sys.entity.SysMenuEntity;
import com.spring.modules.sys.entity.SysObjectLanguageMenu; import com.spring.modules.sys.entity.SysObjectLanguageMenu;
import com.spring.modules.sys.entity.SysUserEntity;
import com.spring.modules.sys.entity.dto.SysMenuEntityDto; import com.spring.modules.sys.entity.dto.SysMenuEntityDto;
import com.spring.modules.sys.service.ShiroService; import com.spring.modules.sys.service.ShiroService;
import com.spring.modules.sys.service.SysMenuService; import com.spring.modules.sys.service.SysMenuService;
import com.spring.modules.sys.service.SysObjectLanguageMenuService; import com.spring.modules.sys.service.SysObjectLanguageMenuService;
import com.spring.modules.sys.service.SysRoleMenuService; import com.spring.modules.sys.service.SysRoleMenuService;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -39,7 +42,8 @@ public class SysMenuController extends AbstractController {
private ShiroService shiroService; private ShiroService shiroService;
@Autowired @Autowired
private SysObjectLanguageMenuService sysObjectLanguageMenuService; private SysObjectLanguageMenuService sysObjectLanguageMenuService;
@Autowired
private SysMenuDao sysMenuDao;
/** /**
* 导航菜单 * 导航菜单
*/ */
@ -60,7 +64,7 @@ public class SysMenuController extends AbstractController {
//sysMenuService.lambdaQuery().orderBy(true,true,SysMenuEntity::getOrderNum).list(); //sysMenuService.lambdaQuery().orderBy(true,true,SysMenuEntity::getOrderNum).list();
List<SysMenuEntity> menuList = null; List<SysMenuEntity> menuList = null;
//判断是否是admin //判断是否是admin
if (getUserId() == Constant.SUPER_ADMIN) {
if (getUserId() == Constant.SUPER_ADMIN||sysMenuDao.checkSuperAdmin(((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUserId()).size()>0) {
menuList = sysMenuService.list(); menuList = sysMenuService.list();
}else { }else {
//查询当前用户的权限 //查询当前用户的权限

7
src/main/java/com/spring/modules/sys/controller/SysRoleController.java

@ -8,9 +8,12 @@ import com.spring.common.utils.Constant;
import com.spring.common.utils.PageUtils; import com.spring.common.utils.PageUtils;
import com.spring.common.utils.R; import com.spring.common.utils.R;
import com.spring.common.validator.ValidatorUtils; import com.spring.common.validator.ValidatorUtils;
import com.spring.modules.sys.dao.SysMenuDao;
import com.spring.modules.sys.entity.SysRoleEntity; import com.spring.modules.sys.entity.SysRoleEntity;
import com.spring.modules.sys.entity.SysUserEntity;
import com.spring.modules.sys.service.SysRoleMenuService; import com.spring.modules.sys.service.SysRoleMenuService;
import com.spring.modules.sys.service.SysRoleService; import com.spring.modules.sys.service.SysRoleService;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -32,6 +35,8 @@ public class SysRoleController extends AbstractController {
@Autowired @Autowired
private SysRoleMenuService sysRoleMenuService; private SysRoleMenuService sysRoleMenuService;
@Autowired
private SysMenuDao sysMenuDao;
/** /**
* 角色列表 * 角色列表
*/ */
@ -39,7 +44,7 @@ public class SysRoleController extends AbstractController {
@RequiresPermissions("sys:role:list") @RequiresPermissions("sys:role:list")
public R list(@RequestParam Map<String, Object> params){ public R list(@RequestParam Map<String, Object> params){
//如果不是超级管理员则只查询自己创建的角色列表 //如果不是超级管理员则只查询自己创建的角色列表
if(getUserId() != Constant.SUPER_ADMIN){
if(getUserId() != Constant.SUPER_ADMIN&&sysMenuDao.checkSuperAdmin(((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUserId()).size()==0){
params.put("createUserId", getUserId()); params.put("createUserId", getUserId());
} }

7
src/main/java/com/spring/modules/sys/controller/SysUserController.java

@ -12,6 +12,7 @@ import com.spring.common.validator.ValidatorUtils;
import com.spring.common.validator.group.AddGroup; import com.spring.common.validator.group.AddGroup;
import com.spring.common.validator.group.UpdateGroup; import com.spring.common.validator.group.UpdateGroup;
import com.spring.modules.base.data.SysUserEntityData; import com.spring.modules.base.data.SysUserEntityData;
import com.spring.modules.sys.dao.SysMenuDao;
import com.spring.modules.sys.entity.SysUserEntity; import com.spring.modules.sys.entity.SysUserEntity;
import com.spring.modules.sys.entity.UserJobEntity; import com.spring.modules.sys.entity.UserJobEntity;
import com.spring.modules.sys.form.IfsPassWordForm; import com.spring.modules.sys.form.IfsPassWordForm;
@ -19,6 +20,7 @@ import com.spring.modules.sys.form.PasswordForm;
import com.spring.modules.sys.service.SysUserRoleService; import com.spring.modules.sys.service.SysUserRoleService;
import com.spring.modules.sys.service.SysUserService; import com.spring.modules.sys.service.SysUserService;
import org.apache.commons.lang.ArrayUtils; import org.apache.commons.lang.ArrayUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.crypto.hash.Sha256Hash; import org.apache.shiro.crypto.hash.Sha256Hash;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -40,7 +42,8 @@ public class SysUserController extends AbstractController {
@Autowired @Autowired
private SysUserRoleService sysUserRoleService; private SysUserRoleService sysUserRoleService;
@Autowired
private SysMenuDao sysMenuDao;
/** /**
* 所有用户列表 * 所有用户列表
*/ */
@ -49,7 +52,7 @@ public class SysUserController extends AbstractController {
@ResponseBody @ResponseBody
public R list( SysUserEntityData params){ public R list( SysUserEntityData params){
//只有超级管理员才能查看所有管理员列表 //只有超级管理员才能查看所有管理员列表
if(getUserId() != Constant.SUPER_ADMIN){
if(getUserId() != Constant.SUPER_ADMIN&&sysMenuDao.checkSuperAdmin(((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUserId()).size()==0){
params.setCreateUserId(getUserId()); params.setCreateUserId(getUserId());
} }
PageUtils page = sysUserService.queryPage(params); PageUtils page = sysUserService.queryPage(params);

8
src/main/java/com/spring/modules/sys/service/impl/SysRoleServiceImpl.java

@ -10,11 +10,14 @@ import com.spring.common.exception.XJException;
import com.spring.common.utils.Constant; import com.spring.common.utils.Constant;
import com.spring.common.utils.PageUtils; import com.spring.common.utils.PageUtils;
import com.spring.common.utils.Query; import com.spring.common.utils.Query;
import com.spring.modules.sys.dao.SysMenuDao;
import com.spring.modules.sys.dao.SysRoleDao; import com.spring.modules.sys.dao.SysRoleDao;
import com.spring.modules.sys.entity.SysRoleEntity; import com.spring.modules.sys.entity.SysRoleEntity;
import com.spring.modules.sys.entity.SysUserEntity;
import com.spring.modules.sys.service.*; import com.spring.modules.sys.service.*;
import com.spring.modules.sys.service.*; import com.spring.modules.sys.service.*;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -40,7 +43,8 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleDao, SysRoleEntity> i
@Autowired @Autowired
private SysMsgService sysMsgService; private SysMsgService sysMsgService;
@Autowired
private SysMenuDao sysMenuDao;
@Override @Override
public PageUtils queryPage(Map<String, Object> params) { public PageUtils queryPage(Map<String, Object> params) {
String roleName = (String)params.get("roleName"); String roleName = (String)params.get("roleName");
@ -105,7 +109,7 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleDao, SysRoleEntity> i
*/ */
private void checkPrems(SysRoleEntity role){ private void checkPrems(SysRoleEntity role){
//如果不是超级管理员则需要判断角色的权限是否超过自己的权限 //如果不是超级管理员则需要判断角色的权限是否超过自己的权限
if(role.getCreateUserId() == Constant.SUPER_ADMIN){
if(role.getCreateUserId() == Constant.SUPER_ADMIN||sysMenuDao.checkSuperAdmin(((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUserId()).size()>0){
return ; return ;
} }

6
src/main/java/com/spring/modules/sys/service/impl/SysUserServiceImpl.java

@ -18,11 +18,13 @@ import com.spring.modules.base.entity.PlmFieldFunctionList;
import com.spring.modules.base.service.BaseService; import com.spring.modules.base.service.BaseService;
import com.spring.modules.factory.dao.AccessSiteMapper; import com.spring.modules.factory.dao.AccessSiteMapper;
import com.spring.modules.project.data.PlmProjectInfoData; import com.spring.modules.project.data.PlmProjectInfoData;
import com.spring.modules.sys.dao.SysMenuDao;
import com.spring.modules.sys.service.*; import com.spring.modules.sys.service.*;
import com.spring.modules.sys.dao.SysUserDao; import com.spring.modules.sys.dao.SysUserDao;
import com.spring.modules.sys.entity.SysUserEntity; import com.spring.modules.sys.entity.SysUserEntity;
import org.apache.commons.lang.RandomStringUtils; import org.apache.commons.lang.RandomStringUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.crypto.hash.Sha256Hash; import org.apache.shiro.crypto.hash.Sha256Hash;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -48,6 +50,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserDao, SysUserEntity> i
@Autowired @Autowired
private AccessSiteMapper accessSiteMapper; private AccessSiteMapper accessSiteMapper;
@Autowired
private SysMenuDao sysMenuDao;
@Autowired @Autowired
private UserJobService userJobService; private UserJobService userJobService;
@Autowired @Autowired
@ -193,7 +197,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserDao, SysUserEntity> i
return; return;
} }
//如果不是超级管理员则需要判断用户的角色是否自己创建 //如果不是超级管理员则需要判断用户的角色是否自己创建
if(user.getCreateUserId() == Constant.SUPER_ADMIN){
if(user.getCreateUserId() == Constant.SUPER_ADMIN || sysMenuDao.checkSuperAdmin(((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUserId()).size()>0){
return ; return ;
} }

2
src/main/resources/mapper/sys/SysMenuDao.xml

@ -103,7 +103,7 @@
</select> </select>
<select id="checkSuperAdmin" resultType="com.spring.modules.sys.entity.SysRoleEntity"> <select id="checkSuperAdmin" resultType="com.spring.modules.sys.entity.SysRoleEntity">
select site,user_id,role_id from sys_user_role where role_id=1 and user_id=#{userId}
select user_id,role_id from sys_user_role where role_id=1 and user_id=#{userId}
</select> </select>
</mapper> </mapper>
Loading…
Cancel
Save