如何为具有 ADMIN 和 USER 角色的用户制作一种方法 return 不同的值?

How to make one method return different values for user with role ADMIN and USER?

我需要制作 @Get 方法,对于 ROLE_USER 的用户,它应该 return 与 ROLE_ADMIN 的用户不同的值。

URL必须相同。

如何使用 Spring 安全性?

问题不是 100% 清楚,但我要做的是在用户 class(假设 class 存在)中为角色和 return 创建一个枚举字段调用 URL 时该字段的值。

如果您的身份验证顺利通过,您可以注入 @AuthenticationPrincipal:

@GetMapping("/get-url-here")
public String main(@AuthenticationPrincipal User user) {
    if (user.getRole().equals("ROLE_ADMIN")) {
        // set values for admin
    } else {
        // set for user
    }
    return "view-or-response-body";
}

我假设您已配置 User class,例如:

public class User {
    public String role;
    // other fields, getters, setters
}

或者 role 也可以是枚举。