Spring Cloud OAuth2中的资源服务器如何实现权限控制与数据访问?

2026-04-19 20:231阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计340个文字,预计阅读时间需要2分钟。

Spring Cloud OAuth2中的资源服务器如何实现权限控制与数据访问?

资源服务器的功能包括:- 业务服务+用户服务,订单服务等- 第三方应用需要通过资源服务器的接口获取资源- ResourceServerConfig是资源服务器的核心配置- 用于验证token与网关配置相似

资源服务器就是业务服务 如用户服务,订单服务等 第三方需要到资源服务器调用接口获取资源

ResourceServerConfig

ResourceServerConfig是资源服务器的核心配置 用于验证token 与网关配置相似

其中.antMatchers("/**").access("#oauth2.hasScope('user')") 需要oauth_client_details表的scope配合 意思是访问所有资源 需要客户端有scope需要有user

@Configuration @EnableResourceServer // 标识为资源服务器,请求服务中的资源,就要带着token过来,找不到token或token是无效访问不了资源 @EnableGlobalMethodSecurity(prePostEnabled = true) // 开启方法级别权限控制 public class ResourceServerConfig extends ResourceServerConfigurerAdapter implements CommandLineRunner { private final static Logger logger = LoggerFactory.getLogger(ResourceServerConfig.class); public static final String RESOURCE_ID = "user"; /** * 权限不足返回给前端json */ @Autowired private CustomAccessDeniedHandlerConfig customAccessDeniedHandlerConfig; @Autowired private TokenStore tokenStore; /** * token无效返回前段json */ @Autowired private AuthExceptionEntryPointConfig authExceptionEntryPointConfig; @Override public void configure(ResourceServerSecurityConfigurer resources) throws Exception { // 当前资源服务器的资源id,认证服务会认证客户端有没有访问这个资源id的权限,有则可以访问当前服务 resources.tokenStore(tokenStore).resourceId(RESOURCE_ID) // token无效异常的处理 .authenticationEntryPoint(authExceptionEntryPointConfig) // 权限不足异常处理类 .accessDeniedHandler(customAccessDeniedHandlerConfig) // 会话机制stateless开启 .stateless(true); } @Override public void configure(HttpSecurity localhost:8001/oauth/check_token

到此这篇关于spring cloud ouath2中的资源服务器的文章就介绍到这了,更多相关spring cloud ouath2资源服务器内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

Spring Cloud OAuth2中的资源服务器如何实现权限控制与数据访问?
标签:资源

本文共计340个文字,预计阅读时间需要2分钟。

Spring Cloud OAuth2中的资源服务器如何实现权限控制与数据访问?

资源服务器的功能包括:- 业务服务+用户服务,订单服务等- 第三方应用需要通过资源服务器的接口获取资源- ResourceServerConfig是资源服务器的核心配置- 用于验证token与网关配置相似

资源服务器就是业务服务 如用户服务,订单服务等 第三方需要到资源服务器调用接口获取资源

ResourceServerConfig

ResourceServerConfig是资源服务器的核心配置 用于验证token 与网关配置相似

其中.antMatchers("/**").access("#oauth2.hasScope('user')") 需要oauth_client_details表的scope配合 意思是访问所有资源 需要客户端有scope需要有user

@Configuration @EnableResourceServer // 标识为资源服务器,请求服务中的资源,就要带着token过来,找不到token或token是无效访问不了资源 @EnableGlobalMethodSecurity(prePostEnabled = true) // 开启方法级别权限控制 public class ResourceServerConfig extends ResourceServerConfigurerAdapter implements CommandLineRunner { private final static Logger logger = LoggerFactory.getLogger(ResourceServerConfig.class); public static final String RESOURCE_ID = "user"; /** * 权限不足返回给前端json */ @Autowired private CustomAccessDeniedHandlerConfig customAccessDeniedHandlerConfig; @Autowired private TokenStore tokenStore; /** * token无效返回前段json */ @Autowired private AuthExceptionEntryPointConfig authExceptionEntryPointConfig; @Override public void configure(ResourceServerSecurityConfigurer resources) throws Exception { // 当前资源服务器的资源id,认证服务会认证客户端有没有访问这个资源id的权限,有则可以访问当前服务 resources.tokenStore(tokenStore).resourceId(RESOURCE_ID) // token无效异常的处理 .authenticationEntryPoint(authExceptionEntryPointConfig) // 权限不足异常处理类 .accessDeniedHandler(customAccessDeniedHandlerConfig) // 会话机制stateless开启 .stateless(true); } @Override public void configure(HttpSecurity localhost:8001/oauth/check_token

到此这篇关于spring cloud ouath2中的资源服务器的文章就介绍到这了,更多相关spring cloud ouath2资源服务器内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

Spring Cloud OAuth2中的资源服务器如何实现权限控制与数据访问?
标签:资源