Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Mã hóa bảo mật nâng cao Oracle với cấu hình xml Spring JDBC

Các thuộc tính Oracle không được cung cấp trong API Spring DataSource, vì vậy bạn phải đặt các thuộc tính bổ sung sau khi bean được kích hoạt. Bạn có thể làm điều này với một lớp thực hiện 'beanpostprocessor'. Ngoài ra, vì đây là Spring, bạn cần phải xử lý dataSource hiện tại để thiết lập các thuộc tính bổ sung mà không làm nổ bean init. Bạn không thể sử dụng Autowire trong lớp nguyên nhân thì PostProcessor sẽ bỏ qua bean đó. Vì vậy, bạn phải đúc đậu. Sau đó, bạn có thể sử dụng setConnectionProperties để init các tham số theo yêu cầu của Oracle thay vì thiết lập các thuộc tính trong Spring bean sẽ không hoạt động và gây ra lỗi được mô tả ở trên.

Ngoài ra bạn nên sửa tiêu đề của chủ đề này là Bí mật -> Bảo mật. Xin lỗi nếu định dạng bị tắt vì tôi mới đăng câu trả lời.

@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. Oracle 11g SQL để nhận các giá trị duy nhất trong một cột của truy vấn nhiều cột

  2. Đặt hàng theo giá trị 2 cột

  3. Vấn đề tính toán tuần của Oracle

  4. Oracle regex thay thế nhiều lần xuất hiện của một chuỗi được bao quanh bởi dấu phẩy

  5. Tìm hiểu ngày thuộc quý nào trong Oracle