whycxzp
2024-09-12 050b6bc88dfbff427d67ad5fd335f7cb0ec13ee1
用户编辑权限校验
2个文件已修改
24 ■■■■■ 已修改文件
src/main/java/com/whyc/controller/UserController.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/UserService.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/UserController.java
@@ -70,7 +70,10 @@
    @PostMapping("delete")
    @ApiOperation(value = "删除")
    public Response delete(@RequestParam int id){
        userService.delete(id);
        boolean deleteFlag = userService.delete(id);
        if (!deleteFlag){
            return new Response().set(0,"删除失败,您没有权限编辑用户");
        }
        return new Response().setII(1,"删除成功");
    }
    @GetMapping("/searchUKeyToUName")
src/main/java/com/whyc/service/UserService.java
@@ -45,6 +45,9 @@
    @Autowired
    private ApplicationContext applicationContext;
    @Resource
    private PermitGroupUserService permitGroupUserService;
    public Response add(UserInf user) {
        try {
            UserInf userFound = userBridgeService.findPasswordByUserName(user.getUName());
@@ -79,6 +82,8 @@
        }
    }
    public Response addByRSA(UserInf user) {
        //首先校验当前用户所在的权限组,是否存在用户编辑权限 usr_edit_permit
        if (!checkUserPermit()) return new Response<>().set(1, false, "您没有权限编辑用户");
        try {
            UserInf userFound = userBridgeService.findPasswordByUserName(user.getUName());
            if (userFound.getUId() != 0) {
@@ -110,6 +115,16 @@
            e.printStackTrace();
            return new Response<>().set(0);
        }
    }
    private boolean checkUserPermit() {
        //首先校验当前用户所在的权限组,是否存在用户编辑权限 usr_edit_permit
        Long uId = ActionUtil.getUser().getUId();
        List<String> itemList = permitGroupUserService.getItemList(uId);
        if (!itemList.contains("usr_edit_permit")){
            return false;
        }
        return true;
    }
    public Response registerUser(UserInf user){
@@ -172,6 +187,8 @@
    }
    public Response update(UserInf user) {
        //首先校验当前用户所在的权限组,是否存在用户编辑权限 usr_edit_permit
        if (!checkUserPermit()) return new Response<>().set(1, false, "您没有权限编辑用户");
        //非系统管理员用户,禁止修改访问ip和访问时间
        if(user.getUId()!=1 && user.getUName().equals("sys_admin")){
            user.setVisitIp((String) ActionUtil.objeNull);
@@ -195,6 +212,8 @@
    @Transactional
    public boolean delete(int id) {
        //首先校验当前用户所在的权限组,是否存在用户编辑权限 usr_edit_permit
        if (!checkUserPermit()) return false;
        UpdateWrapper wrapper = new UpdateWrapper();
        wrapper.eq("uId", id);
        //删除对应的包机组记录