如何在webssoprofileoption中将forceAuthn设置为true?

时间:2019-02-01 08:40:03

标签: java spring-boot saml

我是Spring-boot的新手,并且刚刚通过Spring Security和Okta进行了SAML身份验证,可以按照本教程进行操作。使用WebSecurityConfigurerAdapter进行配置时,无法在WebSSOProfileOptions下设置ForceAuthN。

有人可以给我一个例子或为我指出正确的方向吗?

我尝试下面的代码,但出现类型错误,请帮助解决该问题

public class SecurityConfiguration extends WebSecurityConfigurerAdapter {

 @Override
    protected void configure(final HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .antMatchers("/saml*").permitAll()
                .anyRequest().authenticated()
                .and() 
            .apply(saml())
                .serviceProvider()
                    .keyStore()
                        .storeFilePath("saml/keystore.jks")
                        .password(this.password)
                        .keyname(this.keyAlias)
                        .keyPassword(this.password)
                    .and()
                    .protocol("https")
                    .hostname(String.format("%s:%s", "localhost", this.port))
                    .basePath("/")
                .and()
                .identityProvider()
                    .metadataFilePath(this.metadataUrl)
                .and()
                .WebSSOProfileOptions(getWebSSOProfileOptions());

    }
 @Bean
    public WebSSOProfileOptions getWebSSOProfileOptions() {
        WebSSOProfileOptions profile = new WebSSOProfileOptions();
        profile.setForceAuthN(true);
        return profile;
    }

}

1 个答案:

答案 0 :(得分:0)

您应该尝试实例化SAMLEntryPoint并使用WebSSOProfileOptions bean配置其defaultProfileOptions属性。

samlEntryPoint.setDefaultProfileOptions(getWebSSOProfileOptions());