Spring 安全 Oauth2 组

Spring Security Oauth2 Group

我当前在 Spring 中的一组权限支持组中具有权限级别的用户,因此以下内容为真:

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

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

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