diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/role/SysRoleController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/role/SysRoleController.java index 4302205..aaa9972 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/role/SysRoleController.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/role/SysRoleController.java @@ -47,7 +47,7 @@ public class SysRoleController { @Log("新增角色") @ApiOperation("新增角色") @PostMapping -// @SaCheckPermission("roles:add") + @SaCheckPermission("roles:add") public ResponseEntity create(@RequestBody JSONObject param) { roleService.create(param); return new ResponseEntity<>(HttpStatus.CREATED); @@ -56,9 +56,9 @@ public class SysRoleController { @Log("修改角色") @ApiOperation("修改角色") @PutMapping -// @SaCheckPermission("roles:edit") + @SaCheckPermission("roles:edit") public ResponseEntity update(@RequestBody JSONObject param) { -// roleService.update(param); + roleService.update(param); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @@ -74,7 +74,7 @@ public class SysRoleController { @Log("修改角色菜单") @ApiOperation("修改角色菜单") @PutMapping(value = "/menu") -// @SaCheckPermission("roles:edit") + @SaCheckPermission("roles:edit") public ResponseEntity updateMenu(@RequestBody JSONObject form) { roleService.updateMenu(form); return new ResponseEntity<>(HttpStatus.NO_CONTENT); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/dao/mapper/SysMenuMapper.java b/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/dao/mapper/SysMenuMapper.java index ea840a6..40b6fe0 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/dao/mapper/SysMenuMapper.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/dao/mapper/SysMenuMapper.java @@ -30,4 +30,10 @@ public interface SysMenuMapper extends BaseMapper { */ List findByUser(@Param("userId") String userId); + /** + * 根据id获取权限 + * @param userId + * @return + */ + List getPermissionByUserId(String userId); } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/dao/mapper/SysMenuMapper.xml b/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/dao/mapper/SysMenuMapper.xml index 3468db3..8ec2d25 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/dao/mapper/SysMenuMapper.xml +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/dao/mapper/SysMenuMapper.xml @@ -18,4 +18,33 @@ role_id IN ( SELECT role_id FROM sys_users_roles WHERE 1 = 1 and user_id=#{userId} )) + diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/role/ISysRoleService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/role/ISysRoleService.java index 99d6ba3..aac2ee1 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/role/ISysRoleService.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/role/ISysRoleService.java @@ -5,7 +5,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import org.nl.common.domain.query.PageQuery; import org.nl.system.service.role.dao.SysRole; +import org.nl.system.service.role.dao.SysRolesMenus; +import java.util.List; import java.util.Map; import java.util.Set; @@ -44,4 +46,12 @@ public interface ISysRoleService extends IService { * @param form */ void updateMenu(JSONObject form); + + /** + * 通过id获取用户的权限 + * @param userDto + * @return + */ + List getPermissionList(JSONObject userDto); + } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/role/impl/SysRoleServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/role/impl/SysRoleServiceImpl.java index 5a773b3..12cb18c 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/role/impl/SysRoleServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/role/impl/SysRoleServiceImpl.java @@ -13,6 +13,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.nl.common.domain.query.PageQuery; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.common.utils.SecurityUtils; +import org.nl.modules.wql.WQL; +import org.nl.system.service.menu.dao.SysMenu; +import org.nl.system.service.menu.dao.mapper.SysMenuMapper; import org.nl.system.service.role.ISysRoleService; import org.nl.system.service.role.dao.SysRole; import org.nl.system.service.role.dao.SysRolesMenus; @@ -22,8 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Map; -import java.util.Set; +import java.util.*; /** *

@@ -39,6 +41,9 @@ public class SysRoleServiceImpl extends ServiceImpl impl @Autowired private SysRoleMapper roleMapper; + @Autowired + private SysMenuMapper sysMenuMapper; + @Autowired private SysRolesMenusMapper rolesMenusMapper; @@ -127,4 +132,14 @@ public class SysRoleServiceImpl extends ServiceImpl impl rolesMenusMapper.insert(rolesMenus); } } + + @Override + public List getPermissionList(JSONObject userDto) { + List permission = new LinkedList<>(); + // 查看是否为管理员 + permission.add("admin"); + permission.addAll(sysMenuMapper.getPermissionByUserId(userDto.getString("userId"))); + return permission; + } + } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/secutiry/impl/OnlineUserService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/secutiry/impl/OnlineUserService.java index 930fd7f..8034d82 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/secutiry/impl/OnlineUserService.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/secutiry/impl/OnlineUserService.java @@ -22,17 +22,14 @@ import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; -import org.apache.poi.ss.formula.functions.T; import org.nl.modules.common.config.RsaProperties; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.common.utils.*; import org.nl.modules.common.utils.dto.CurrentUser; -import org.nl.modules.system.service.RoleService; import org.nl.modules.system.service.dto.UserDto; -import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.system.service.role.ISysRoleService; import org.nl.system.service.secutiry.dto.AuthUserDto; import org.nl.system.service.user.ISysUserService; import org.nl.system.service.user.dao.SysUser; @@ -58,7 +55,7 @@ public class OnlineUserService { @Autowired private ISysUserService sysUserService; @Autowired - private RoleService roleService; + private ISysRoleService roleService; private final RedisUtils redisUtils; public OnlineUserService(RedisUtils redisUtils) { diff --git a/nladmin-ui/src/views/system/role/index.vue b/nladmin-ui/src/views/system/role/index.vue index 2eec699..4089c66 100644 --- a/nladmin-ui/src/views/system/role/index.vue +++ b/nladmin-ui/src/views/system/role/index.vue @@ -122,7 +122,7 @@