Browse Source

feat: 添加权限鉴权

weijianghai 2 years ago
parent
commit
367af277ff

+ 2 - 1
src/main/java/com/nokia/controller/VerificationController.java

@@ -36,7 +36,8 @@ public class VerificationController {
      */
     @Operation(summary = "鉴权")
     @ApiResponses(value = {
-            @ApiResponse(responseCode = "app", description = "{\"success\":true,\"code\":1,\"message\":\"成功\",\"data\":{\"userName\":\"张三\",\"list\":[{\"id\":1,\"name\":\"工单处理\",\"url\":\"url\",\"webIcon\":\"webIcon\",\"priority\":0},{\"id\":2,\"name\":\"工单答复\",\"url\":\"url\",\"webIcon\":\"webIcon\",\"priority\":0}]}}", content = @Content(schema = @Schema(implementation = WebVerificationVo.class))),
+            @ApiResponse(responseCode = "web", description = "{\"success\":true,\"code\":1,\"message\":\"成功\",\"data\":{\"userName\":\"张三\",\"list\":[{\"id\":1,\"name\":\"工单处理\",\"url\":\"url\",\"webIcon\":\"webIcon\",\"priority\":0},{\"id\":2,\"name\":\"工单答复\",\"url\":\"url\",\"webIcon\":\"webIcon\",\"priority\":0}]}}", content = @Content(schema = @Schema(implementation = WebVerificationVo.class))),
+            @ApiResponse(responseCode = "permission", description = "{\"success\":true,\"code\":1,\"message\":\"成功\",\"data\":null}"),
             @ApiResponse(responseCode = "用户不存在", description = "{\"success\":false,\"code\":0,\"message\":\"用户不存在\",\"data\":null}", content = @Content)
     })
     @PostMapping("/verification")

+ 8 - 2
src/main/java/com/nokia/service/AclService.java

@@ -3,6 +3,7 @@ package com.nokia.service;
 import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.nokia.common.R;
+import com.nokia.common.exception.BizException;
 import com.nokia.constants.ClientEnum;
 import com.nokia.dao.UserDao;
 import com.nokia.dao.UserRoleCityDao;
@@ -133,7 +134,7 @@ public class AclService {
      * 将用户信息保存到session
      */
     private void saveSession(HttpSession session, User userEntity, TokenVo tokenEntity) {
-        if (!"web".equals(tokenEntity.getSystem())) {
+        if (!"permission".equals(tokenEntity.getSystem())) {
             return;
         }
         QueryWrapper<UserRoleCity> wrapper = new QueryWrapper<>();
@@ -142,6 +143,9 @@ public class AclService {
         map.put("role_id", -1);
         wrapper.allEq(map);
         UserRoleCity userRoleCity = userRoleCityDao.selectOne(wrapper);
+        if (userRoleCity == null) {
+            throw new BizException("没有权限");
+        }
         log.debug("role: {}", JSON.toJSONString(userRoleCity));
         session.setAttribute("userinfo", userEntity);
         session.setAttribute("role", userRoleCity);
@@ -202,8 +206,10 @@ public class AclService {
                 webVo.setUserName(userEntity.getUserName());
                 webVo.setList(webFunctions);
                 return R.ok().data(webVo);
+            case "permission":
+                return R.ok();
             default:
-                return R.error().message("当前允许的system为: liucheng/fenxi/daping/yuce/heidianku/volte_t2/luyin/app/web");
+                return R.error().message("当前允许的system为: liucheng/fenxi/daping/yuce/heidianku/volte_t2/luyin/app/web/permission");
         }
     }