我想知道是否可以使用BasicAuth创建Spring Webservice而无需创建web.xml或任何基于xml的配置。
我看到很多教程都是用xml来完成的,但是我想在课堂配置方式中这样做。
答案 0 :(得分:0)
对不起,这可能不太准确,因为我不再使用这个实现,我用基于EE的模型替换了......在这里和我一起工作。 :)
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth
.inMemoryAuthentication()
.passwordEncoder(passwordEncoder())
.withUser("fooserviceuser").password("$2a$10$9DvfxB.Sj2B/QznFRw85FenDvhUGglWWgOR7mmal/jNImhdHQRJgi").roles("USER");
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable()
.authorizeRequests()
.antMatchers("/**").hasRole("USER")
.and()
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
}
@Bean
public BCryptPasswordEncoder passwordEncoder(){
BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
return encoder;
}
}
您还需要一个初始化程序来挂钩容器,如 -
public class SecurityWebApplicationInitializer extends AbstractSecurityWebApplicationInitializer {
}
这使用bcrypt进行密码散列。对不起,这不是正常工作的代码,但我认为这里有足够的东西让你走上正轨!谷歌周围有类似的代码片段,他们就在那里。