Class SecurityConfiguration

java.lang.Object
org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter
org.qubership.atp.auth.springbootstarter.config.AtpKeycloakWebSecurityConfigurerAdapter
org.qubership.atp.auth.springbootstarter.config.SecurityConfiguration
All Implemented Interfaces:
org.springframework.security.config.annotation.SecurityConfigurer<javax.servlet.Filter,org.springframework.security.config.annotation.web.builders.WebSecurity>, org.springframework.security.config.annotation.web.WebSecurityConfigurer<org.springframework.security.config.annotation.web.builders.WebSecurity>

@EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled=true) @Profile("default") public class SecurityConfiguration extends AtpKeycloakWebSecurityConfigurerAdapter
  • Constructor Details

    • SecurityConfiguration

      public SecurityConfiguration()
  • Method Details

    • configureGlobal

      @Autowired public void configureGlobal(org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder auth)
      Configure authentication.
      Parameters:
      auth - AuthenticationManagerBuilder object to be configured.
    • sessionAuthenticationStrategy

      @Bean protected org.springframework.security.web.authentication.session.SessionAuthenticationStrategy sessionAuthenticationStrategy()
      Create SessionAuthenticationStrategy bean.
      Specified by:
      sessionAuthenticationStrategy in class AtpKeycloakWebSecurityConfigurerAdapter
      Returns:
      a new NullAuthenticatedSessionStrategy object.
    • keycloakAuthenticatedActionsFilter

      @Bean protected org.keycloak.adapters.springsecurity.filter.KeycloakAuthenticatedActionsFilter keycloakAuthenticatedActionsFilter()
      Create KeycloakAuthenticatedActionsFilter bean.
      Overrides:
      keycloakAuthenticatedActionsFilter in class AtpKeycloakWebSecurityConfigurerAdapter
      Returns:
      a new AnonymousSupportKeycloakAuthenticatedActionsFilter object.
    • sslAdapterDeploymentContext

      @Bean @Primary public org.keycloak.adapters.AdapterDeploymentContext sslAdapterDeploymentContext(org.apache.http.client.HttpClient sslHttpClient) throws Exception
      AdapterDeploymentContext is used by the keycloak lib for requests to the keycloak server.
      Parameters:
      sslHttpClient - HttpClient to set in Keycloak Deployment properties
      Returns:
      a new AdapterDeploymentContext configured.
      Throws:
      Exception
    • keycloakAuthenticationProcessingFilterRegistrationBean

      @Bean public org.springframework.boot.web.servlet.FilterRegistrationBean keycloakAuthenticationProcessingFilterRegistrationBean(org.keycloak.adapters.springsecurity.filter.KeycloakAuthenticationProcessingFilter filter)
      Return FilterRegistrationBean filter for keycloak authentication, initially disabled.
      Parameters:
      filter - KeycloakAuthenticationProcessingFilter bean
      Returns:
      FilterRegistrationBean
    • entityAccess

      @Bean("entityAccess") public PolicyEnforcement entityAccess(UsersService usersService, UserGroupService userGroupService, DataContextHolder<Set<String>> userRolesContextHolder)
      Create entityAccess PolicyEnforcement bean from parameters given.
      Parameters:
      usersService - Users Service
      userGroupService - User Group Service
      userRolesContextHolder - User Roles Cache
      Returns:
      a new EntityAccessEnforcement created and configured.
    • userInfoProvider

      @Bean("userInfoProvider") public Provider<UserInfo> userInfoProvider()
      Create and return User Info Provider.
      Returns:
      a new UserProvider object.
    • configure

      public void configure(org.springframework.security.config.annotation.web.builders.WebSecurity web) throws Exception
      Configure WebSecurity parameter object.
      Specified by:
      configure in interface org.springframework.security.config.annotation.SecurityConfigurer<javax.servlet.Filter,org.springframework.security.config.annotation.web.builders.WebSecurity>
      Overrides:
      configure in class org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter
      Parameters:
      web - WebSecurity object to be configured
      Throws:
      Exception - in case various configuration exceptions.
    • configure

      protected void configure(org.springframework.security.config.annotation.web.builders.HttpSecurity http) throws Exception
      Configure HttpSecurity.
      Overrides:
      configure in class AtpKeycloakWebSecurityConfigurerAdapter
      Parameters:
      http - HttpSecurity object to be configured
      Throws:
      Exception - in case various configuration exceptions.
    • userGroupService

      @Bean("userGroupService") public UserGroupService userGroupService(DataContextHolder<UUID> userIdContextHolder, UsersService usersService, DataContextHolder<Set<String>> userRolesContextHolder)
      Create UserGroupService bean from parameters provided.
      Parameters:
      userIdContextHolder - Cache of users
      usersService - Users Service
      userRolesContextHolder - Cache of user roles
      Returns:
      UserGroupService bean created and configured.