Spring Security Oauth2 组

Posted

技术标签:

【中文标题】Spring Security Oauth2 组【英文标题】:Spring Security Oauth2 Group 【发布时间】:2016-07-12 15:42:06 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于Spring Security Oauth2 组的主要内容,如果未能解决你的问题,请参考以下文章

spring-security-oauth2注解详解

spring-security-oauth2注解详解

使用 Spring Security OAuth2 和 Okta 处理基于 url 的 RBAC

Spring Security OAuth2 和 FormLogin 在一个应用程序中

Spring Boot security/OAuth2 - 丢弃远程身份验证并在访问远程 userInfo 端点后恢复本地

spring-security oauth2 REST 服务器在错误凭据(400)错误响应中不需要的 Stacktrace