Шифрование и целостность соединения с базой данных с помощью ColdFusion и тонкого клиента Oracle - PullRequest
3 голосов
/ 30 августа 2010

В качестве источника данных ColdFusion мы используем тонкий клиент Oracle для связи с базой данных. Итак, в основном мы используем URL-адрес JDBC, такой как jdbc: oracle: thin: @ ... и класс драйвера oracle.jdbc.OracleDriver

Это работает успешно, однако мы хотели бы также установить параметры шифрования и целостности. В Java это делается аналогично, устанавливая объект Properties до получения соединения следующим образом:

Properties prop = new Properties();
prop.put("oracle.net.encryption_client", "REQUIRED");
prop.put("oracle.net.encryption_types_client", "( DES40 )");
prop.put("oracle.net.crypto_checksum_client", "REQUESTED");
prop.put("oracle.net.crypto_checksum_types_client", "( MD5 )");

...

OracleDataSource ods = new OracleDataSource();
ods.setProperties(prop);
ods.setURL("jdbc:oracle:thin:@localhost:1521:main");
Connection conn = ods.getConnection();

...

Есть ли способ передать эти параметры в источник данных ColdFusion. В идеале я хотел бы сделать это централизованно, чтобы не требовалось изменение всего cfquery или cfstoredproc.

Я также знаю, что на серверах приложений, таких как Oracle AS, существует опция при создании источника данных с надписью «Добавить свойства». Там вы можете добавить такие свойства. Итак, я подумал о создании JNDI DS в приложении. сервер, а затем волшебным образом подключается к нему, но это может оказать некоторое влияние на приложение.

Кроме того, я также думал об обмене данными с источником данных CF через API администратора CF (cfide.adminapi.administrator), а также о возможности расширения драйвера Oracle, чтобы при соединении с ним CF эти параметры уже были установлены.

Я хотел бы получить ваше профессиональное мнение и предложения по этому вопросу.

Ответы [ 2 ]

2 голосов
/ 04 февраля 2015

Я знаю, что это старый вопрос ...

Вы можете передать свойства строки подключения ЛЮБОМУ источнику данных ColdFusion.

Как только источник данных открыт в CF ADMIN, откройте Расширенные настройки. Первый параметр, который можно изменить на вкладке «Дополнительные параметры», - «Строка подключения». Это будут все пары «имя-значение» параметров, разделенные амперсандом (&) для передачи в соединение с базой данных.

Например:

encryption_client=REQUIRED&encryption_types_client=DES40&crypto_checksum_client=REQUESTED&crypto_checksum_types_client=MD5`

Однако ответом на OP является то, что вы можете передавать параметры и по URL JDBC.

Например:

Используя драйвер Progress Datadirect, ваш URL JDBC может выглядеть следующим образом:

jdbc:datadirect:oracle://server;SID=someSID;encryption_client=REQUIRED;encryption_types_client=DES40;crypto_checksum_client=REQUIRED;crypto_checksum_types_client=MD5

Просто помните, что ваши параметры разделяются точкой с запятой, а не запятыми.

При определении источника данных убедитесь, что вы используете правильный KIND драйвера ... Некоторые функции недоступны на экранах настройки собственного источника данных, поэтому для использования более сложных функций вам может потребоваться использовать OTHER. *

0 голосов
/ 31 августа 2010

Все источники данных в ColdFusion можно настроить с помощью строки подключения.Я бы посмотрел, возможно ли передать ваши свойства как часть строки подключения.

Чтобы изменить строку подключения, откройте источник данных в администраторе CF и перейдите в «Дополнительные настройки».Там есть поле, которое вы можете заполнить.

Если вы поймете это, тогда весь процесс должен быть прозрачным для тех, кто использует источник данных.

Надеюсь, это поможет некоторым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...