当前位置: 首页 > 知识库问答 >
问题:

spring-boot在spring-jpa中使用EnableGlobalMethodSecurity时的奇怪异常

鲁浩言
2023-03-14

当我在没有@EnableGlobalMethodSecurity注释的情况下运行我的应用程序时,它工作得很好。但是,我想添加对@secreted注释的支持,所以我想添加它。当我这样做时(如图所示),我开始立即在测试中获得这些异常。

@ComponentScan("ltistarter")
@Configuration
@EnableAutoConfiguration
@EnableTransactionManagement // enables TX management and @Transaction
@EnableCaching // enables caching and @Cache* tags
@EnableWebMvcSecurity // enable spring security and web mvc hooks
@EnableGlobalMethodSecurity(securedEnabled = true, proxyTargetClass = true) // allows @Secured flag
public class Application extends WebMvcConfigurerAdapter {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
...
@Transactional
public interface LtiKeyRepository extends PagingAndSortingRepository<LtiKeyEntity, Long> {
    /**
     * @param key the unique key
     * @return the LtiKeyEntity OR null if there is no entity matching this key
     */
    LtiKeyEntity findByKeyKey(String key);

    /**
     * @param key the unique key
     * @return the number of keys removed (0 or 1)
     */
    int deleteByKeyKey(String key);
}

共有1个答案

司寇灵均
2023-03-14

我通过从@EnableGlobalMethodSecurity中删除ProxyTargetClass=true来解决这个问题,如下所示:

@ComponentScan("ltistarter")
@Configuration
@EnableAutoConfiguration
@EnableTransactionManagement // enables TX management and @Transaction
@EnableCaching // enables caching and @Cache* tags
@EnableWebMvcSecurity // enable spring security and web mvc hooks
@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
// allows @Secured flag - proxyTargetClass = true causes this to die
public class Application extends WebMvcConfigurerAdapter {
...

您可以在这里看到代码:

https://github.com/azeckoski/lti_starter
 类似资料:
  • 当我集成Spring JPA数据和Spring缓存时,有一种奇怪的行为我无法解释。 我正在使用Spring Boot来设置我的演示项目。代码在下面。 我的配置bean: 我的实体豆。 我的单元测试类 输出很奇怪。 它应该只为我的期望打印出一条sql语句。不使用缓存对象。 我还注意到@query注释工作得很好。JpaRepository和PersonRepository引用都使用定制的SQL。 我想

  • 运行Spring Boot应用程序时,我遇到了一些奇怪的问题。它已配置为使用Log4J2作为其记录器(Logback记录器已被禁用)。 log4j2。xml: 主要问题 我在log4j2中有一些变量替换。xml文件,以允许变化,特别是日志文件名。当我运行应用程序时,日志文件被创建在正确的目录中,并且看起来确实有实际的日志内容。问题是它们的名字不正确。例如,而不是,文件名为${sys:service

  • 在上篇文章springboot(二):web综合开发中简单介绍了一下spring data jpa的基础性使用,这篇文章将更加全面的介绍spring data jpa 常见用法以及注意事项 使用spring data jpa 开发时,发现国内对spring boot jpa全面介绍的文章比较少案例也比较零碎,因此写文章总结一下。本人也正在翻译Spring Data JPA 参考指南,有兴趣的同学欢

  • 1. 前言 使用 JDBC ,或者 JdbcTemplate 操作数据库,需要编写大量的 SQL 语句。SQL 语句基本都是些模板代码,实际上是可以通过分析模板代码的规则自动生成的。 JPA 就是简化 Java 持久层数据操作的技术标准,是一种方案和规范。最开始是 Sun 公司提出的, Sun 公司就是开发出 Java 的公司,一度非常厉害,结果被 Oracle 收购了。Sun 公司虽然提出了 J

  • 下面是我的代码: 当请求/admin/*传入时,它将通过调用“AntMatchers(”/admin/**“).HasRole(”admin“)”来验证用户是否具有admin角色。,但在我的控制器中,它不检查用户是否拥有@preauthorize的其他权限。

  • 背景 我试图为我的spring boot data jpa应用程序创建一个自定义实现。 我的期望是spring boot-data-jpa将为我创建一个存储库bean,它结合了&中的所有优点,另外还将知道如何使用我的自定义实现存储库。 目前,我得到的只是 PropertyReferenceException:未找到属性getUsers