Sto tentando di proteggere un'applicazione Web utilizzando la configurazione java di Spring Security.Disabilitare l'autenticazione di base mentre si utilizza la configurazione Java di Spring Security
Questo è come la configurazione appare: -
@Configuration
@EnableWebMvcSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
private String googleClientSecret;
@Autowired
private CustomUserService customUserService;
/*
* (non-Javadoc)
*
* @see org.springframework.security.config.annotation.web.configuration.
* WebSecurityConfigurerAdapter
* #configure(org.springframework.security.config
* .annotation.web.builders.HttpSecurity)
*/
@Override
protected void configure(HttpSecurity http) throws Exception {
// @formatter:off
http
.authorizeRequests()
.antMatchers(HttpMethod.GET, "/","/static/**", "/resources/**","/resources/public/**").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.and()
.httpBasic().disable()
.requiresChannel().anyRequest().requiresSecure();
// @formatter:on
super.configure(http);
}
@Override
protected void configure(AuthenticationManagerBuilder auth)
throws Exception {
// @formatter:off
auth
.eraseCredentials(true)
.userDetailsService(customUserService);
// @formatter:on
super.configure(auth);
}
}
Si noti che ho esplicitamente disabilitato l'autenticazione HTTP Basic utilizzando: -
.httpBasic().disable()
ancora sto ottenendo HTTP Authenticaton prompt dei box, mentre l'accesso a un assicurato url. Perché?
Si prega di aiutarmi a risolvere questo. Voglio solo rendere il modulo di login predefinito che viene fornito in bundle.
Primavera Boot Starter Versione: 1.1.5 Primavera di sicurezza Versione: 3.2.5
Grazie
aggiungere 'security.basic.enabled = false' al proprio' application.properties'. Inoltre non dovresti chiamare 'super.configure' dal tuo metodo sovrascritto. –
@ M.Deinum Che l'ha risolto. Ma perché non è stato disabilitato quando ho disabilitato esplicitamente in java config? –
È possibile avere più 'WebSecurityConfigurer' per ciascuna configurazione che contribuisce alla configurazione generale. Molto bene potrebbe essere che hai una parte di riposo del tuo sito Web che è protetto dall'autenticazione di base e il sito normale con un modulo. È possibile creare 2 'WebSecurityConfigurer' uno per il resto e uno per il modulo. Potresti anche voler controllare http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-security.html (riferimento Spring Boot, sezione sicurezza). –