diff --git a/agileboot-admin/src/main/java/com/agileboot/admin/controller/common/LoginController.java b/agileboot-admin/src/main/java/com/agileboot/admin/controller/common/LoginController.java
index 9d22af8..35cf5f5 100644
--- a/agileboot-admin/src/main/java/com/agileboot/admin/controller/common/LoginController.java
+++ b/agileboot-admin/src/main/java/com/agileboot/admin/controller/common/LoginController.java
@@ -159,6 +159,14 @@ public class LoginController {
         return ResponseDTO.ok(routerTree);
     }
 
+    @Operation(summary = "获取用户对应的全部权限", description = "用于显示按钮")
+    @GetMapping("/getPermissions")
+    public ResponseDTO<List<String>> getPermissions() {
+        SystemLoginUser loginUser = AuthenticationUtils.getSystemLoginUser();
+        List<String> permissions = menuApplicationService.getPermissions(loginUser);
+        return ResponseDTO.ok(permissions);
+    }
+
 
     @Operation(summary = "注册接口", description = "暂未实现")
     @PostMapping("/register")
diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/system/menu/MenuApplicationService.java b/agileboot-domain/src/main/java/com/agileboot/domain/system/menu/MenuApplicationService.java
index 5ff7175..6fbfa8d 100644
--- a/agileboot-domain/src/main/java/com/agileboot/domain/system/menu/MenuApplicationService.java
+++ b/agileboot-domain/src/main/java/com/agileboot/domain/system/menu/MenuApplicationService.java
@@ -24,6 +24,7 @@ import java.util.List;
 import java.util.stream.Collectors;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 
 /**
@@ -176,4 +177,18 @@ public class MenuApplicationService {
         return buildRouterTree(trees);
     }
 
+    public List<String> getPermissions(SystemLoginUser loginUser) {
+        List<SysMenuEntity> allMenus;
+        if (loginUser.isAdmin()) {
+            allMenus = menuService.list();
+        } else {
+            allMenus = menuService.getMenuListByUserId(loginUser.getUserId());
+        }
+
+        return allMenus.stream()
+           .filter(menu-> StatusEnum.ENABLE.getValue().equals(menu.getStatus()))
+           .map(SysMenuEntity::getPermission)
+            .filter(StringUtils::isNotBlank)
+           .collect(Collectors.toList());
+    }
 }