如何为具有 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
也可以是枚举。
我需要制作 @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
也可以是枚举。