Estoy aprendiendo primavera de arranque. He creado una muestra de aplicaciones Web de Primavera de arranque con la seguridad de Primavera de arranque y está trabajando perfectamente.
Ahora quiero agregar funcionalidad Resto de servicios web en la misma aplicación web.
PROBLEMA: Cuando estoy tratando de acceder a cualquier API, en respuesta estoy recibiendo login.jsp.
Requisito: Quiero JSON autenticación y autorización respnse no es obligatorio.
Lo que cambia tengo que hacer para lograrlo.
WebSecurityConfig:
@Configuration
@EnableWebSecurity
clase pública se extiende WebSecurityConfig WebSecurityConfigurerAdapter {
@Qualifier("userDetailsServiceImpl") <br>
@Autowired <br>
private UserDetailsService userDetailsService;
@Bean
public BCryptPasswordEncoder bCryptPasswordEncoder() {
return new BCryptPasswordEncoder();
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/resources/**", "/registration").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.permitAll();
}
@Bean
public AuthenticationManager customAuthenticationManager() throws Exception {
return authenticationManager();
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService).passwordEncoder(bCryptPasswordEncoder());
}
}
Añadir a ese camino antMatchers
a permitAll,
antMatchers("/resources/**", "/registration", "/api/user/**").permitAll()
esto va a desactivar la seguridad de que el URL