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.utils.Constant;
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.SysObjectLanguageMenu;
import com.spring.modules.sys.entity.SysUserEntity;
import com.spring.modules.sys.entity.dto.SysMenuEntityDto;
import com.spring.modules.sys.service.ShiroService;
import com.spring.modules.sys.service.SysMenuService;
import com.spring.modules.sys.service.SysObjectLanguageMenuService;
import com.spring.modules.sys.service.SysRoleMenuService;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -39,7 +42,8 @@ public class SysMenuController extends AbstractController {
private ShiroService shiroService;
@Autowired
private SysObjectLanguageMenuService sysObjectLanguageMenuService;
@Autowired
private SysMenuDao sysMenuDao;
/**
* 导航菜单
*/
@ -60,7 +64,7 @@ public class SysMenuController extends AbstractController {
//sysMenuService.lambdaQuery().orderBy(true,true,SysMenuEntity::getOrderNum).list();
List<SysMenuEntity> menuList = null;
//判断是否是admin
if (getUserId() == Constant.SUPER_ADMIN) {
if (getUserId() == Constant.SUPER_ADMIN||sysMenuDao.checkSuperAdmin(((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUserId()).size()>0) {
menuList = sysMenuService.list();
}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.R;
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.SysUserEntity;
import com.spring.modules.sys.service.SysRoleMenuService;
import com.spring.modules.sys.service.SysRoleService;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -32,6 +35,8 @@ public class SysRoleController extends AbstractController {
@Autowired
private SysRoleMenuService sysRoleMenuService;
@Autowired
private SysMenuDao sysMenuDao;
/**
* 角色列表
*/
@ -39,7 +44,7 @@ public class SysRoleController extends AbstractController {
@RequiresPermissions("sys:role:list")
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());
}

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.UpdateGroup;
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.UserJobEntity;
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.SysUserService;
import org.apache.commons.lang.ArrayUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.crypto.hash.Sha256Hash;
import org.springframework.beans.factory.annotation.Autowired;
@ -40,7 +42,8 @@ public class SysUserController extends AbstractController {
@Autowired
private SysUserRoleService sysUserRoleService;
@Autowired
private SysMenuDao sysMenuDao;
/**
* 所有用户列表
*/
@ -49,7 +52,7 @@ public class SysUserController extends AbstractController {
@ResponseBody
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());
}
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.PageUtils;
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.entity.SysRoleEntity;
import com.spring.modules.sys.entity.SysUserEntity;
import com.spring.modules.sys.service.*;
import com.spring.modules.sys.service.*;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -40,7 +43,8 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleDao, SysRoleEntity> i
@Autowired
private SysMsgService sysMsgService;
@Autowired
private SysMenuDao sysMenuDao;
@Override
public PageUtils queryPage(Map<String, Object> params) {
String roleName = (String)params.get("roleName");
@ -105,7 +109,7 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleDao, SysRoleEntity> i
*/
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 ;
}

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

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

@ -103,7 +103,7 @@
</select>
<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>
</mapper>
Loading…
Cancel
Save