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