如何配置Spring以使用浏览器弹出窗口进行身份验证?

时间:2015-12-15 18:51:56

标签: spring spring-mvc authentication

我通过扩展WebSecurityConfigurerAdapter实现了自定义安全性,如下所示:

@Configuration
@EnableWebSecurity
@Order(SecurityProperties.ACCESS_OVERRIDE_ORDER)
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
// Specify the authentication mechanisms that will allow user access to the site.
@Autowired
public void configureGlobal(AuthenticationManagerBuilder builder) throws Exception {
    builder.inMemoryAuthentication()
        .withUser("user").password("password").roles("ROLES_USER");
}

@Override
protected void configure(HttpSecurity http) throws Exception {
    http
        .authorizeRequests().anyRequest().authenticated()
        .and()
        .formLogin()
        .and()
        .httpBasic()
        .and()
        .requiresChannel().anyRequest().requiresSecure();
}
}

根据许多例子。但是,当以这种方式实现时,我被抛到Spring生成的登录页面。我找到了很多文档,详细说明了如何覆盖此登录页面并提供我自己设计的.html文件,但是,我真正想做的是通过浏览器身份验证弹出窗口提供凭据。

我的问题是我是否可以使用浏览器弹出式身份验证根据上面的代码进行身份验证(我的实际代码在AuthenticationManagerBuilder中使用Kerberos但是一般性问题),如果我不能,可以解释一下是否有浏览器身份验证弹出窗口是为特定类型的身份验证保留的,还是准确触发它弹出的内容?

1 个答案:

答案 0 :(得分:1)

卸下:

    .and()
    .formLogin()

从您的配置,然后.httpBasic()将使用浏览器弹出窗口进行基本身份验证