Class BiudSecurityAutoConfiguration

java.lang.Object
ru.pfr.common.biud.security.BiudSecurityAutoConfiguration

@Configuration @EnableConfigurationProperties(BiudSecurityProperties.class) @EnableTransactionManagement @ConditionalOnProperty(name="biud.security.enabled", havingValue="true", matchIfMissing=true) @EntityScan(basePackages="ru.pfr.common.biud.security.entity") @EnableJpaRepositories(basePackages="ru.pfr.common.biud.security.repository", entityManagerFactoryRef="biudEntityManagerFactory", transactionManagerRef="biudTransactionManager") @ComponentScan(basePackages={"ru.pfr.common.biud.security.encoder","ru.pfr.common.biud.security.service","ru.pfr.common.biud.security.auth"}) public class BiudSecurityAutoConfiguration extends Object
Auto-configuration для библиотеки БИУД Spring Security.

Этот класс автоматически настраивает все компоненты безопасности БИУД при наличии свойства biud.security.enabled=true в конфигурации приложения.

Создаёт следующие бины:

  • DataSource — подключение к базе данных БИУД
  • EntityManagerFactory — JPA EntityManager для таблиц БИУД
  • PlatformTransactionManager — менеджер транзакций
  • BiudPasswordEncoder — кодировщик паролей SHA1+BASE64
  • TekRabService — сервис учёта попыток входа
  • BiudBlockChecker — сервис проверки блокировок
  • AuthLogger — сервис логирования входов
  • BiudUserDetailsService — загрузка пользователей и ролей
  • BiudAuthenticationProvider — основной провайдер аутентификации

Пример конфигурации в application.yml:

biud:
  security:
    enabled: true
    datasource:
      url: jdbc:db2://localhost:50000/ROS
      username: db2admin
      password: "${DB_PASSWORD}"
  • Constructor Details

  • Method Details

    • biudDataSource

      @Bean(name="biudDataSource") @ConditionalOnMissingBean(name="biudDataSource") public DataSource biudDataSource()
      Создать DataSource для подключения к базе данных БИУД.
    • biudEntityManagerFactory

      @Bean(name="biudEntityManagerFactory") @ConditionalOnMissingBean(name="biudEntityManagerFactory") public org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean biudEntityManagerFactory(DataSource biudDataSource)
      Создать EntityManagerFactory для таблиц БИУД.
    • biudTransactionManager

      @Bean(name="biudTransactionManager") @ConditionalOnMissingBean(name="biudTransactionManager") public org.springframework.transaction.PlatformTransactionManager biudTransactionManager(jakarta.persistence.EntityManagerFactory biudEntityManagerFactory)
      Создать TransactionManager для транзакций БИУД.