【问题标题】:Spring Security Oauth2 GroupSpring Security Oauth2 组
【发布时间】:2025-12-25 10:00:10
【问题描述】:

我目前在 Spring 中的权限集支持组内具有权限级别的用户,所以以下是正确的:

用户(实现 UserDetails)在组中具有权限(加入用户 + 组,授予 GrantedAuthority)。对于 HTTP 身份验证,用户可以在其组中执行操作并在组之间切换。

对于 api 访问,我试图允许用户授予特定客户端(具有 id + secret)访问不同范围的数据。使用标准 Spring Security OAuth2,如果我这样做,他们将能够使用用户凭据访问所有 Group 对象。有没有一种方法可以让用户在 Spring Security / Spring Security Oauth2 中按组进行授权?

【问题讨论】:

    标签: spring spring-security oauth-2.0 spring-security-oauth2


    【解决方案1】:

    您可以通过实现您自己的自定义 TokenEnhancer,将任何类型的信息(例如您的组)添加到访问令牌的“附加信息”中。它将与访问令牌一起存储,并在资源服务器中可用。

    【讨论】: