使用Spring Security Java配置时禁用基本身份验证
我正在尝试使用Spring Security Java配置保护Web应用程序的安全。
这是配置的样子:
@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);
    }
}
请注意,我已使用以下命令明确禁用了HTTP基本身份验证:
.httpBasic().disable()访问安全的URL时,我仍然收到HTTP Authenticaton提示框。为什么?
请帮我解决这个问题。我只想呈现捆绑的默认登录表单。
Spring Boot Starter版本:1.1.5 Spring安全版本:3.2.5
回答:
首先,调用super.configure(http);将覆盖你之前拥有的整个配置。
尝试以下方法:
http    .authorizeRequests()
        .anyRequest().authenticated()
        .and()
    .formLogin()
        .and()
    .httpBasic().disable();
以上是 使用Spring Security Java配置时禁用基本身份验证 的全部内容, 来源链接: utcz.com/qa/434191.html








