使用带有spring webservices的http-basic-authentication

时间:2015-11-11 15:57:01

标签: spring spring-security spring-boot spring-ws http-basic-authentication

我跟着https://spring.io/guides/gs/producing-web-service/使用Spring实现简单的Web服务。一切都像预期的那样。现在我正在尝试使用javaconfig为其添加http基本身份验证。我该怎么办?我找到了一些使用@EnableWebSecurity的链接,但似乎什么都没有用......服务响应没有认证......

2 个答案:

答案 0 :(得分:2)

只需创建一个Spring Security配置文件:

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Autowired
    private void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth
            .inMemoryAuthentication()
            .withUser("user")
            .password("password")
            .roles("ROLE_USER");
    }

    @Override
    public void configure(HttpSecurity http) throws Exception {
        http
            .formLogin()
            .and()
        .authorizeRequests()
            .anyRequest()
            .authenticated();
    }

这是一个跟进通知教程:http://www.mkyong.com/spring-security/spring-security-hello-world-annotation-example/

答案 1 :(得分:0)

根据您添加到问题中的标记,我看到您使用Spring Boot公开SOAP服务。在这种情况下,只需添加spring-boot-starter-security Spring Boot starter project作为依赖项。这将包括Spring Security和by default ‘basic’ authentication is added on all HTTP endpoints(包括您的SOAP服务)。

默认情况下,启动时会生成随机密码,但您可以使用Spring Boot security properties配置自己的用户名/密码。

如果想了解更多信息,我创建了一篇博文,内容为how to setup Spring WS basic authentication using Spring Boot