Spring Boot:使用基本身份验证使用Apache cxf SOAP服务

时间:2018-07-24 07:05:57

标签: java spring spring-boot basic-authentication consumer

我正在使用Apache cxf和spring boot通过基本身份验证来设置SOAP服务。我正在尝试使用此服务,但不知道如何传递用户名和密码。

这是我的消费者:

public class Consumer {

    private Service service;
    public Consumer() throws MalformedURLException {
        URL wsdlURL = new URL("http://localhost:8081/soap/booksService?wsdl");
        QName SERVICE_NAME = new QName("http://service_interface.san.com/", "LibraryImplService");
        service = Service.create(wsdlURL,SERVICE_NAME);
    }
}

这里的服务的安全配置:

@Configuration
public class SecurityConfig  extends WebSecurityConfigurerAdapter {
    @Autowired
    private void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth.inMemoryAuthentication().withUser("admin").password("admin1").roles("ADMIN");
    }

    @Override
    public void configure(HttpSecurity http) throws Exception{
        http.authorizeRequests()
                .antMatchers("/soap/**").hasRole("ADMIN")
                .and()
                .httpBasic()
                .and()
                .csrf().disable();
    }
}

我已经看到很多BindingProvider的解决方案,但是由于身份验证问题,我无法初始化service = Service.create(wsdlURL,SERVICE_NAME);,因此我似乎无法使它们正常工作。

0 个答案:

没有答案