Package com.erudika.para.server.security
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 Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.security.authentication.AuthenticationManagerorg.springframework.security.web.SecurityFilterChainfilterChain(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) Configures the protected private resources.getAmazonFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager) getter/setter.getFacebookFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager) getter/setter.getter/setter.getGenericOAuth2Filter(org.springframework.security.authentication.AuthenticationManager authenticationManager) getter/setter.getGithubFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager) getter/setter.getGoogleFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager) getter/setter.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.getLdapAuthFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager) getter/setter.getLinkedinFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager) getter/setter.getMicrosoftFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager) getter/setter.getPasswordFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager) getter/setter.getPasswordlessFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager) getter/setter.getSamlAuthFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager) getter/setter.getter/setter.getSlackFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager) getter/setter.getter/setter.getTwitterFilter(org.springframework.security.authentication.AuthenticationManager authenticationManager) getter/setter.static voidsetFacebookAuthFilter(FacebookAuthFilter facebookAuthFilter) For testing only.org.springframework.security.core.userdetails.UserDetailsServiceSupplies the simple in-memoryUserDetailsServiceused for admin authentication.org.springframework.security.config.annotation.web.configuration.WebSecurityCustomizerConfigures the unsecured public resources.
-
Field Details
-
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-memoryUserDetailsServiceused for admin authentication.- Returns:
- service backed by
SimpleUserService
-
getSuccessHandler
getter/setter.- Returns:
- handler
-
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
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
getter/setter.- Returns:
- filter
-