@PreAuthorize 不适用于 oauth2 外部服务器
Posted
技术标签:
【中文标题】@PreAuthorize 不适用于 oauth2 外部服务器【英文标题】:@PreAuthorize not working with oauth2 external server 【发布时间】:2020-10-19 22:44:32 【问题描述】:我创建了单独的 spring boot oAuth2 单独服务器,并使用以下配置在单独的 REST API 项目中保护。除了这个标签@PreAuthorize(“hasAuthority('USER')”)之外,一切都工作正常。它不工作
YML 配置: 安全: oauth2: 资源: 令牌信息 uri:http://127.0.0.1:9191/oauth/check_token
控制器:
注意:我也尝试过 @PreAuthorize("hasRole('USER')") 但什么也没发生。
AuthorizationServerConfigurer:
【问题讨论】:
@PreAuthorize("hasAuthority('USER')") 后遇到什么错误,请说明 我在检查您的项目后更新了我的答案。 【参考方案1】:在您的ProfileServiceApplication
中应该是
@EnableGlobalMethodSecurity(prePostEnabled=true)
不是@EnableGlobalMethodSecurity(securedEnabled = true)
【讨论】:
在资源服务器中添加了配置,还是一样。 在您的帖子中添加所有配置,因为您提供的还不够 我已将所有代码上传到 GitHub 仓库:github.com/zahidmx/***以上是关于@PreAuthorize 不适用于 oauth2 外部服务器的主要内容,如果未能解决你的问题,请参考以下文章
Azure api OAuth2 隐式流适用于 http 但不适用于 htt