feat(m11): add v-permission directive and button-level permission codes

This commit is contained in:
2026-05-25 01:41:50 +08:00
parent 1f599e5646
commit 3bb19537fe
6 changed files with 69 additions and 10 deletions
@@ -58,12 +58,39 @@ public class AuthController {
throw new ResponseStatusException(HttpStatus.UNAUTHORIZED, "invalid credentials");
}
List<String> permissions = new java.util.ArrayList<>();
switch(role) {
case "SYS_ADMIN":
permissions.add("*:*");
break;
case "SALES":
permissions.add("customer:*");
permissions.add("project:*");
permissions.add("contract:*");
permissions.add("delivery:read");
break;
case "DELIVERY":
permissions.add("delivery:*");
permissions.add("device:*");
break;
case "LICENSE_OPS":
permissions.add("license:*");
permissions.add("callback:*");
permissions.add("todo:*");
permissions.add("device:read");
permissions.add("integration:read");
permissions.add("report:callback");
break;
}
String token = jwtService.createToken(user, displayName, List.of(role));
return Map.of(
"token", token,
"tokenType", "Bearer",
"roles", List.of(role),
"displayName", displayName);
java.util.Map<String, Object> result = new java.util.LinkedHashMap<>();
result.put("token", token);
result.put("tokenType", "Bearer");
result.put("roles", List.of(role));
result.put("displayName", displayName);
result.put("permissions", permissions);
return result;
}
@PostMapping("/change-password")