根据当前认证用户的角色返回不同的 JSON 对象
Posted
技术标签:
【中文标题】根据当前认证用户的角色返回不同的 JSON 对象【英文标题】:Returning different JSON objects based on role of currently authenticated user 【发布时间】:2013-05-03 00:37:00 【问题描述】:如何有条件地从 Spring (3.1) 后端提供不同的 JSON 对象?我正在使用 Spring Security,但我不明白如何为对象提供不同的表示形式?
我只对安全逻辑感兴趣,其他我已经准备好的东西。
如果名为Sylvester
的用户使用admin
角色登录,那么他将收到一个更大的JSON 对象(更多数据),然后是Arnold
使用角色user
。
我是否必须使用身份验证对象查看用户是否具有特定角色?还是有一些注释或其他魔法可以做到这一点?
【问题讨论】:
【参考方案1】:在您的逻辑中,您需要检查当前登录用户的角色,并且根据角色您可以返回不同的响应。
是的,您需要身份验证对象,该对象必须实现 UserDetails 接口,并且应该具有基本的用户信息,包括其角色/权限。
【讨论】:
【参考方案2】:这篇文章的大部分内容似乎与this question 重复。看看它,更准确地说是这个blog post,它提供了一个很好的解决方案,但您可能必须包含或调整第 3 方代码。
【讨论】:
以上是关于根据当前认证用户的角色返回不同的 JSON 对象的主要内容,如果未能解决你的问题,请参考以下文章