@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 外部服务器的主要内容,如果未能解决你的问题,请参考以下文章

Google OAuth2 不适用于移动设备

Azure api OAuth2 隐式流适用于 http 但不适用于 htt

OAuth 2.0 适用于 Google 表格,但不适用于 Google Calendar API

Google 登录不适用于 Android 的发布版本

#oauth2 方法级别的安全表达式

Passport.js Google 策略不适用于 React 应用程序