首页 > 解决方案 > Springboot @PreAuthorize 与 @EnableTransactionManagement 冲突

问题描述

我知道这听起来有点奇怪,但是我们遇到了一个问题,当我们添加@EnableTransactionManagement应用程序时,所有控制器@PreAuthorize都无法访问,swagger 无法发现它并且调用 API(具有正确的权限和角色)会遇到 404 not found错误。

要解决这个问题,要么删除@EnableTransactionManagement应用程序配置中的,要么删除@PreAuthorize控制器中的 ,但无论哪种方式都不是最终解决方案。

所以我想问一下是否有专家知道造成这种情况的原因以及我们需要做什么才能使事情正常进行,因为我们都需要在应用程序中进行交易和预授权。

标签: javaspringspring-bootpre-authentication

解决方案


原来这可以通过升级到 Spring Boot 版本 2.x 来解决

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.1.RELEASE</version>
</parent>

推荐阅读