java - Springboot @PreAuthorize 与 @EnableTransactionManagement 冲突
问题描述
我知道这听起来有点奇怪,但是我们遇到了一个问题,当我们添加@EnableTransactionManagement
应用程序时,所有控制器@PreAuthorize
都无法访问,swagger 无法发现它并且调用 API(具有正确的权限和角色)会遇到 404 not found错误。
要解决这个问题,要么删除@EnableTransactionManagement
应用程序配置中的,要么删除@PreAuthorize
控制器中的 ,但无论哪种方式都不是最终解决方案。
所以我想问一下是否有专家知道造成这种情况的原因以及我们需要做什么才能使事情正常进行,因为我们都需要在应用程序中进行交易和预授权。
解决方案
原来这可以通过升级到 Spring Boot 版本 2.x 来解决
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.RELEASE</version>
</parent>
推荐阅读
- excel - 下载 CSV 文件获取链接
- java - 如果我尝试使用 html 存储它的工作正常,我的 android 应用程序不会在服务器数据库中存储任何值
- javascript - React Props 意外更改
- java - 无法在 Jtable 中显示来自 MySQL 的数据
- c# - 使用实体框架根据对象类型从两个表之一传递外键
- r - ggplot2 geom_errrorbar 不显示图形中一点的完整误差条
- sql - 查找两个城市之间的最短距离
- docker - 寻找带有节点、gettext 和 rsync 的 docker 镜像
- python - 如果它们满足 Pandas 中的条件,如何将列的唯一值存储为列表?
- swift - 如何在 Swift REPL 的代码片段中插入换行符