Sfoglia il codice sorgente

checkAuthGetObject

shiqian 4 anni fa
parent
commit
16a303d29b

+ 6 - 4
boman-web-core/src/main/java/com/boman/web/core/service/TableServiceCmdService.java

@@ -14,12 +14,9 @@ import com.boman.common.redis.service.RedisService;
 import com.boman.domain.GenTable;
 import com.boman.domain.GenTableColumn;
 import com.boman.domain.constant.*;
+import com.boman.domain.exception.NoSuchFunctionException;
 import com.boman.gen.api.RemoteGenTableColumnService;
 import com.boman.gen.api.RemoteGenTableService;
-import com.boman.system.api.RemoteDeptService;
-import com.boman.system.api.RemoteDictDataService;
-import com.boman.system.api.RemoteRoleDataService;
-import com.boman.system.api.RemoteUserService;
 import com.boman.web.core.domain.ActionType;
 import com.boman.web.core.domain.FormDataDto;
 import com.boman.web.core.domain.RowResult;
@@ -304,6 +301,11 @@ public class TableServiceCmdService {
             return getByTableName(tableName, columns, isUi);
         }
 
+        // 权限
+        if (checkAuthGetObject(genTable, id)) {
+            throw new NoSuchFunctionException("此模块:[" + genTable.getFunctionName() + "], 无根据id获取功能");
+        }
+
         // 默认查所有字段,不支持自定义
         String pkName = IdUtils.getPkName(genTable.getColumns());
         JSONObject json = selectService.selectById(tableName, pkName, id);

+ 5 - 1
boman-web-core/src/main/java/com/boman/web/core/utils/AuthUtils.java

@@ -53,7 +53,7 @@ public class AuthUtils {
     }
 
     public static void checkAuthQueryList(GenTable genTable, JSONObject condition) {
-        containsFunction(genTable.getMenuRole(), GenTable.Q, "此模块:[" + genTable.getTableName() + "], 没有查询功能");
+        containsFunction(genTable.getMenuRole(), GenTable.Q, "此模块:[" + genTable.getFunctionName() + "], 没有查询功能");
 
         LoginUser loginUser = getLoginUser();
         if (SysUser.isAdmin(loginUser.getUserid())) {
@@ -71,6 +71,10 @@ public class AuthUtils {
         packAuthCondition(roleData.getDataScope(), condition, loginUser);
     }
 
+    public static boolean checkAuthGetObject(GenTable genTable, Long id) {
+        return checkAuthObjectDelete(genTable, id, IdUtils.getPkName(genTable.getColumns()));
+    }
+
     /**
      * 功能描述: 某一张表是否有AMD....功能
      *