Class SecurityConfig

java.lang.Object
com.erudika.para.server.security.SecurityConfig

@Configuration @EnableWebSecurity @DeclareRoles({"ROLE_USER","ROLE_MOD","ROLE_ADMIN","ROLE_APP"}) public class SecurityConfig extends Object
Programmatic configuration for Spring Security.
Author:
Alex Bogdanovski [[email protected]]
  • Field Details

    • DEFAULT_ROLES

      public static final String[] DEFAULT_ROLES
      Default roles.
  • Constructor Details

    • SecurityConfig

      public SecurityConfig()
      No-args constructor.
  • Method Details

    • authenticationManager

      @Bean public org.springframework.security.authentication.AuthenticationManager authenticationManager()
    • webSecurityCustomizer

      @Bean public org.springframework.security.config.annotation.web.configuration.WebSecurityCustomizer webSecurityCustomizer()
      Configures the unsecured public resources.
      Returns:
      web
    • filterChain

      @Bean public org.springframework.security.web.SecurityFilterChain filterChain(org.springframework.security.config.annotation.web.builders.HttpSecurity http, org.springframework.security.authentication.AuthenticationManager authManager, FacebookAuthFilter facebookAuth, GoogleAuthFilter googleAuth, GitHubAuthFilter githubAuth, LinkedInAuthFilter linkedinAuth, TwitterAuthFilter twitterAuth, MicrosoftAuthFilter microsoftAuth, SlackAuthFilter slackAuth, AmazonAuthFilter amazonAuth, GenericOAuth2Filter oauth2Auth, LdapAuthFilter ldapAuth, PasswordAuthFilter passwordAuth, PasswordlessAuthFilter passwordlessAuth) throws Exception
      Configures the protected private resources.
      Parameters:
      http - HTTP sec object
      Returns:
      http
      Throws:
      Exception - ex
    • simpleUserDetailsService

      @Bean public org.springframework.security.core.userdetails.UserDetailsService simpleUserDetailsService()
      Supplies the simple in-memory UserDetailsService used for admin authentication.
      Returns:
      service backed by SimpleUserService
    • getSuccessHandler

      @Bean public SimpleAuthenticationSuccessHandler getSuccessHandler()
      getter/setter.
      Returns:
      handler
    • getFailureHandler

      @Bean public SimpleAuthenticationFailureHandler getFailureHandler()
      getter/setter.
      Returns:
      handler
    • getJWTAuthFilter

      @Bean public JWTRestfulAuthFilter getJWTAuthFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager, FacebookAuthFilter facebookAuth, GoogleAuthFilter googleAuth, GitHubAuthFilter githubAuth, LinkedInAuthFilter linkedinAuth, TwitterAuthFilter twitterAuth, MicrosoftAuthFilter microsoftAuth, SlackAuthFilter slackAuth, AmazonAuthFilter amazonAuth, GenericOAuth2Filter oauth2Auth, LdapAuthFilter ldapAuth, PasswordAuthFilter passwordAuth, PasswordlessAuthFilter passwordlessAuth)
      getter/setter.
      Returns:
      filter
    • getPasswordFilter

      @Bean public PasswordAuthFilter getPasswordFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager)
      getter/setter.
      Returns:
      filter
    • getPasswordlessFilter

      @Bean public PasswordlessAuthFilter getPasswordlessFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager)
      getter/setter.
      Returns:
      filter
    • getFacebookFilter

      @Bean public FacebookAuthFilter getFacebookFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager)
      getter/setter.
      Returns:
      filter
    • setFacebookAuthFilter

      public static void setFacebookAuthFilter(FacebookAuthFilter facebookAuthFilter)
      For testing only.
      Parameters:
      facebookAuthFilter - used for testing
    • getGoogleFilter

      @Bean public GoogleAuthFilter getGoogleFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager)
      getter/setter.
      Returns:
      filter
    • getLinkedinFilter

      @Bean public LinkedInAuthFilter getLinkedinFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager)
      getter/setter.
      Returns:
      filter
    • getTwitterFilter

      @Bean public TwitterAuthFilter getTwitterFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager)
      getter/setter.
      Returns:
      filter
    • getGithubFilter

      @Bean public GitHubAuthFilter getGithubFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager)
      getter/setter.
      Returns:
      filter
    • getMicrosoftFilter

      @Bean public MicrosoftAuthFilter getMicrosoftFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager)
      getter/setter.
      Returns:
      filter
    • getSlackFilter

      @Bean public SlackAuthFilter getSlackFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager)
      getter/setter.
      Returns:
      filter
    • getAmazonFilter

      @Bean public AmazonAuthFilter getAmazonFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager)
      getter/setter.
      Returns:
      filter
    • getGenericOAuth2Filter

      @Bean public GenericOAuth2Filter getGenericOAuth2Filter(org.springframework.security.authentication.AuthenticationManager authenticationManager)
      getter/setter.
      Returns:
      filter
    • getLdapAuthFilter

      @Bean public LdapAuthFilter getLdapAuthFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager)
      getter/setter.
      Returns:
      filter
    • getSamlAuthFilter

      @Bean public SAMLAuthFilter getSamlAuthFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager)
      getter/setter.
      Returns:
      filter
    • getSamlMetadataFilter

      @Bean public SAMLMetadataFilter getSamlMetadataFilter()
      getter/setter.
      Returns:
      filter