Oracle
 sql >> база данни >  >> RDS >> Oracle

Криптиране на Oracle Advanced Secuity с Spring JDBC xml конфигурация

Свойствата на Oracle не са дадени в API на Spring DataSource, така че трябва да зададете допълнителните свойства след стартирането на bean. Можете да направите това с клас, който имплементира 'beanpostprocessor'. Освен това, тъй като това е пролет, трябва да получите манипулатор на текущия източник на данни, за да зададете допълнителните свойства, без да раздувате bean init. Не можете да използвате Autowire в класа, защото постпроцесорът ще пропусне този компонент. Така че, трябва да хвърлите боба. След това можете да използвате setConnectionProperties, за да инициирате параметрите, изисквани от Oracle, вместо да задавате свойствата в Spring bean, което няма да работи и дава грешката, описана по-горе.

Също така трябва да коригирате заглавието на тази тема Сигурност-->Сигурност. Съжалявам, ако форматирането е изключено, тъй като съм нов в публикуването на отговори.

@Component
public class OracleConfigurer implements BeanPostProcessor {

@Override
public Object postProcessBeforeInitialization(Object bean, String name) throws BeansException {


final Logger LOG = LoggerFactory.getLogger(OracleConfigurer.class);
    if (bean instanceof DriverManagerDataSource) {
          Properties properties = ((DriverManagerDataSource) bean).getConnectionProperties();
          if (null == properties) properties = new Properties();
                properties.put("oracle.net.encryption_types_client", "(AES256)");
                properties.put("oracle.net.crypto_checksum_client", "REQUIRED");
                properties.put("oracle.net.encryption_client", "REQUIRED");
                DriverManagerDataSource dataSource = ((DriverManagerDataSource) bean);
                dataSource.setConnectionProperties(properties);
        }
        return bean;
    }

    @Override
    public Object postProcessAfterInitialization(Object bean, String name) throws
        BeansException {
        return bean;
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Има ли начин да пресъздадете ODI пакет с помощта на ODI сценарий?

  2. Какво представляват скритите полета на Oracle?

  3. Oracle Trigger ORA-04098:тригерът е невалиден и неуспешно повторно валидиране

  4. Поддържане на база данни на приложения агностична (ADO.NET срещу капсулираща логика на DB)

  5. Преобразувайте 24 часа време в 12 часа плюс индикация AM/PM Oracle SQL