从Windows域外部访问授权服务器时如何禁用登录弹出窗口?

时间:2019-03-25 11:21:20

标签: spring spring-security spring-security-oauth2 spring-security-kerberos

我正在设置一个使用Kerberos(SSO)来对Windows网络内部的用户进行身份验证的授权服务器。并且,它使用基本身份验证来对网络外部的用户进行身份验证。

当我尝试使用网络内部的计算机访问/oauth/authorize端点时,kerberos SSO可以完美运行而无需询问我用户名和密码。但是,当我尝试使用网络外部的计算机访问同一端点时,浏览器登录弹出窗口会出现,并隐藏我的自定义登录页面,直到单击“取消”为止。

我想在访问/oauth/authorize端点时禁用登录弹出窗口。

我的配置:

@Override
protected void configure(HttpSecurity http) throws Exception {
    http
        .exceptionHandling()
            .authenticationEntryPoint(spnegoEntryPoint())
            .and()
        .authorizeRequests()
            .antMatchers("/", "/home", "/check", "/favicon.ico").permitAll()
            .anyRequest().authenticated()
            .and()
        .formLogin()
            .loginPage("/login").permitAll()
            .and()
        .logout()
            .permitAll()
            .and()
        .addFilterBefore(
                    spnegoAuthenticationProcessingFilter(authenticationManagerBean()),
                    BasicAuthenticationFilter.class);
}

@Bean
public SpnegoEntryPoint spnegoEntryPoint() {
    return new SpnegoEntryPoint("/login");
}

0 个答案:

没有答案