RestAssured:如何禁用PreAuthorize

时间:2017-06-15 08:04:17

标签: java spring spring-boot spring-security rest-assured

我正在使用RestAssured测试API。
我调用的方法正在使用下一个注释:

@PreAuthorize("hasAnyRole('ROLE1', 'ROLE2', 'ROLE3')")

我的测试类包含用于测试的有效配置文件 对于测试配置,我们使用.yaml文件。
是否可以在.yaml文件中放置一些内容,以便我们在运行测试时不需要授权?

或者还有其他办法让我在运行测试时没有激活PreAuthorize吗?

1 个答案:

答案 0 :(得分:1)

您的代码中可能有一个test个人资料,然后在针对代码运行测试时激活该个人资料。然后,您可以在测试中使用预定义的用户和密码。

@Configuration
public class TestConfig {

  @EnableWebSecurity
  @Profile("test")
  class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Bean
    public UserDetailsService userDetailsService() {
      InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager();
      manager.createUser(User.withUsername("user").password("password").roles("ROLE1", "ROLE2", "ROLE3").build());
      return manager;
    }
  }
}