Class WaffleAutoConfiguration

java.lang.Object
waffle.spring.boot.WaffleAutoConfiguration

@Configuration @EnableConfigurationProperties(WaffleProperties.class) public class WaffleAutoConfiguration extends Object
Auto configuration for Spring Boot that configures beans based on properties defined in WaffleProperties.
  • Constructor Details

    • WaffleAutoConfiguration

      public WaffleAutoConfiguration(WaffleProperties properties)
      Instantiates a new waffle auto configuration.
      Parameters:
      properties - the properties
  • Method Details

    • waffleWindowsAuthProvider

      @Bean @ConditionalOnMissingBean public WindowsAuthProviderImpl waffleWindowsAuthProvider()
      Returns:
      the windows auth provider impl
    • defaultGrantedAuthority

      @Bean @ConditionalOnMissingBean(name="defaultGrantedAuthority") public org.springframework.security.core.GrantedAuthority defaultGrantedAuthority()
      The default GrantedAuthority that is applied to all users. Default can be overridden by defining a bean of type GrantedAuthority with name "defaultGrantedAuthority".
      Returns:
      the granted authority
    • grantedAuthorityFactory

      @Bean @ConditionalOnMissingBean public GrantedAuthorityFactory grantedAuthorityFactory()
      The default GrantedAuthorityFactory that is used. Default can be overridden by defining a bean of type GrantedAuthorityFactory.
      Returns:
      the granted authority factory
    • waffleSpringAuthenticationProvider

      @Bean @ConditionalOnMissingBean public WindowsAuthenticationProvider waffleSpringAuthenticationProvider(WindowsAuthProviderImpl waffleWindowsAuthProvider, @Qualifier("defaultGrantedAuthority") org.springframework.security.core.GrantedAuthority defaultGrantedAuthority, GrantedAuthorityFactory grantedAuthorityFactory)
      The WindowsAuthenticationProvider that can be used by Spring Security by an AuthenticationManager to provide authentication.
      Parameters:
      waffleWindowsAuthProvider - the waffle windows auth provider
      defaultGrantedAuthority - the default granted authority
      grantedAuthorityFactory - the granted authority factory
      Returns:
      the windows authentication provider
    • negotiateSecurityFilterProvider

      @Bean @ConditionalOnProperty("waffle.sso.enabled") @ConditionalOnMissingBean public NegotiateSecurityFilterProvider negotiateSecurityFilterProvider(WindowsAuthProviderImpl windowsAuthProvider)
      The NegotiateSecurityFilterProvider that provides single-sign-on authentication using Negotiate with the configured protocols. Instantiated only when sso is enabled.
      Parameters:
      windowsAuthProvider - the windows auth provider
      Returns:
      the negotiate security filter provider
    • basicSecurityFilterProvider

      @Bean @ConditionalOnProperty("waffle.sso.enabled") @ConditionalOnMissingBean public BasicSecurityFilterProvider basicSecurityFilterProvider(WindowsAuthProviderImpl windowsAuthProvider)
      The BasicSecurityFilterProvider that provides Basic authentication fall back when using single-sign-on with unsupported browser. Instantiated only when sso is enabled.
      Parameters:
      windowsAuthProvider - the windows auth provider
      Returns:
      the basic security filter provider
    • waffleSecurityFilterProviderCollection

      @Bean @ConditionalOnProperty("waffle.sso.enabled") @ConditionalOnMissingBean public SecurityFilterProviderCollection waffleSecurityFilterProviderCollection(NegotiateSecurityFilterProvider negotiateProvider, BasicSecurityFilterProvider basicProvider)
      The SecurityFilterProviderCollection that includes NegotiateSecurityFilterProvider and/or BasicSecurityFilterProvider depending on configuration. Instantiated only when sso is enabled.
      Parameters:
      negotiateProvider - the negotiate provider
      basicProvider - the basic provider
      Returns:
      the security filter provider collection
    • negotiateSecurityFilterEntryPoint

      @Bean @ConditionalOnProperty("waffle.sso.enabled") @ConditionalOnMissingBean public NegotiateSecurityFilterEntryPoint negotiateSecurityFilterEntryPoint(SecurityFilterProviderCollection providers)
      The NegotiateSecurityFilterEntryPoint for use by the Spring Security AuthenticationManager when using single-sign-on. Instantiated only when sso is enabled.
      Parameters:
      providers - the providers
      Returns:
      the negotiate security filter entry point
    • waffleNegotiateSecurityFilter

      @Bean @ConditionalOnProperty("waffle.sso.enabled") @ConditionalOnMissingBean public NegotiateSecurityFilter waffleNegotiateSecurityFilter(SecurityFilterProviderCollection providers, @Qualifier("defaultGrantedAuthority") org.springframework.security.core.GrantedAuthority defaultGrantedAuthority, GrantedAuthorityFactory grantedAuthorityFactory)
      The NegotiateSecurityFilter to be used by Spring Security AuthenticationManager when using single-sign-on. Instantiated only when sso is enabled.
      Parameters:
      providers - the providers
      defaultGrantedAuthority - the default granted authority
      grantedAuthorityFactory - the granted authority factory
      Returns:
      the negotiate security filter
    • waffleNegotiateSecurityFilterRegistrationBean

      @Bean @ConditionalOnProperty("waffle.sso.enabled") public org.springframework.boot.web.servlet.FilterRegistrationBean<NegotiateSecurityFilter> waffleNegotiateSecurityFilterRegistrationBean(NegotiateSecurityFilter filter)
      When using Spring Boot, Filters are automatically registered. In this case, the filter must be manually configured within an AuthenticationManager and so we must prevent Spring Boot from registering it a second time.
      Parameters:
      filter - The filter that we will be disabling from auto registration.
      Returns:
      the filter registration bean