sql >> Databáze >  >> RDS >> Oracle

Šifrování Oracle Advanced Secuity s konfigurací Spring JDBC xml

Vlastnosti Oracle nejsou uvedeny v Spring DataSource API, takže po iniciaci beanu musíte nastavit další vlastnosti. Můžete to udělat pomocí třídy, která implementuje 'beanpostprocessor'. Vzhledem k tomu, že je jaro, musíte také získat ovladač k aktuálnímu zdroji dat, abyste mohli nastavit další vlastnosti, aniž byste vyhodili do vzduchu init fazole. Nemůžete použít Autowire ve třídě, protože PostProcessor tento bean přeskočí. Takže musíte hodit fazole. Potom můžete použít setConnectionProperties k inicializaci parametrů požadovaných Oracle, spíše než nastavování vlastností ve Spring beanu, který nebude fungovat a způsobí chybu popsanou výše.

Také byste měli opravit název tohoto tématu Zabezpečení-->Zabezpečení. Omlouváme se, pokud je formátování vypnuto, protože jsem v odesílání odpovědí nový.

@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. Mysql zlepšuje rychlost SELECT

  2. Může php PDO načíst dvě sady výsledků? A pokud ano, co je lepší 1 sada výsledků nebo více než 1?

  3. Zpracovat hodnoty NULL při čtení přes OracleDataReader?

  4. Migrovat textový/bajtový sloupec PostgreSQL na velký objekt?