java - 根据当前经过身份验证的用户的角色返回不同的 JSON 对象

标签 java spring jakarta-ee spring-mvc spring-security

如何从 Spring (3.1) 后端有条件地提供不同的 JSON 对象?我正在使用 Spring Security,但我不明白如何为一个对象提供不同的表示形式?

我只对安全逻辑感兴趣,其他我已经准备好的东西。

如果名为 Sylvester 的用户以 admin 角色登录,那么他将收到比 Arnold 更大的 JSON 对象(更多数据) > 角色为 user

我是否必须使用身份验证对象查看用户是否具有特定角色?或者是否有一些注释或其他魔法可以做到这一点?

最佳答案

在您的逻辑中,您需要检查当前登录用户的角色,并根据角色返回不同的响应。

是的,您需要身份验证对象,它必须实现 UserDetails 接口(interface)并且应该具有基本的用户信息,包括其角色/权限。

关于java - 根据当前经过身份验证的用户的角色返回不同的 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16446473/

相关文章:

java - 验证两个字符串之间的用户输入?

java - Mockito 使用时抛出 NPE

java - 使用链接列表数据结构制作java电话簿?

java - 集成测试的 Spring Boot 身份验证

spring - 如何使DispatcherServlet初始化错误从嵌入式Jetty冒出来?

Java7 类格式错误 : Illegal local variable table length while creating the object

java - 输入路径的字符串替换 : "\" to "/"

jakarta-ee - 解析 XSL 文件时出错

java - 为什么要使用JNDI? - 远程EJB调用

java - 如何使用 af 上传文件 :inputFile in Oracle ADF