Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
WebSphere AS и jndi ресурсы
|
|||
|---|---|---|---|
|
#18+
Имеем настроенные jndi ресурсы к разным БД (ДБ2) предположим jndi/QWERTY jndi/ASDFGH jndi/ZXCVBN при установке некоторых приложений, не появляется страница указывающая какой ресурс будет использовать приложение(допустим в инструкции написано "приложение использует jndi/QWERTY") в этом случае приложение же может воспользоваться и другими ресурсами ВебСферы. Как быть в таком случае ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2007, 09:34 |
|
||
|
WebSphere AS и jndi ресурсы
|
|||
|---|---|---|---|
|
#18+
Слободской АндрейИмеем настроенные jndi ресурсы к разным БД (ДБ2) предположим jndi/QWERTY jndi/ASDFGH jndi/ZXCVBN Это я так понимаю список ресурсов сервера? Слободской Андрейпри установке некоторых приложений, не появляется страница указывающая какой ресурс будет использовать приложение(допустим в инструкции написано "приложение использует jndi/QWERTY") в этом случае приложение же может воспользоваться и другими ресурсами ВебСферы. Как быть в таком случае ? Не понял. По правилам J2EE, ресурс должен быть объявлен в разделе Resource References соответсвующего Deployment Descriptor. Для веб-приложения это файл WEB-INF\web.xml Для ссылки на ресурс JDBC в нем должно быть что-то вроде: <resource-ref id="ResourceRef_1152538063246"> <description></description> <res-ref-name>jdbc/DB_ACCESS</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref> При деплойменте приложения WAS будет предлагать binding только для объявленных ссылок на внешние ресурсы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2007, 10:00 |
|
||
|
WebSphere AS и jndi ресурсы
|
|||
|---|---|---|---|
|
#18+
Евгений Хабаров По правилам J2EE, ресурс должен быть объявлен в разделе Resource References соответсвующего Deployment Descriptor. Для веб-приложения это файл WEB-INF\web.xml по правилам ресурс м.б. и должен быть объявлен в web.xml Но факт остаётся фактом: есть пиложение написаное на JDeveloper(9-ка или 10-ка) ресурс прописан в коде приложении как "jdbc/QWERTY" в файле web.xml я нашёл только описание сервлетов. Евгений Хабаров При деплойменте приложения WAS будет предлагать binding только для объявленных ссылок на внешние ресурсы. При деплое такого приложения WAS не предлает использование ресурсов сервера. У томката в server.xml явно указываются ресурсы доступные приложению ЕХ: <Context docBase="E:/Inetpub/Tomcat_App/webapps/nalvag" path="/nalvag" ~~//~~> <ResourceLink global="jdbc/QWERTY" name="jdbc/QWERTY" type="java.object"/> <ResourceLink global="jdbc/ASDFGH" name="jdbc/ASDFGH" type="java.object"/> </Context> Т.е. подсмотрев ресурсы сервера WAS - их можно смело юзать - так получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2007, 11:44 |
|
||
|
WebSphere AS и jndi ресурсы
|
|||
|---|---|---|---|
|
#18+
Слободской Андрей по правилам ресурс м.б. и должен быть объявлен в web.xml Но факт остаётся фактом: есть пиложение написаное на JDeveloper(9-ка или 10-ка) ресурс прописан в коде приложении как "jdbc/QWERTY" в файле web.xml я нашёл только описание сервлетов. Ну так добавить туда ссылку на ресурс самостоятельно. Это ведь нетрудно. А потом попинать разработчика этого приложения, дабы он оформил web.xml в соответствии со спецификациями. Сама среда разработки не будет добавлять ссылки на внешние ресурсы, если автор приложения в коде использовал JNDI-имя. Это ответственность автора внести используемые внешние ресурсы в список. То же касается используемых приложением ролей и т.п. Слободской АндрейУ томката в server.xml явно указываются ресурсы доступные приложению ЕХ: <Context docBase="E:/Inetpub/Tomcat_App/webapps/nalvag" path="/nalvag" ~~//~~> <ResourceLink global="jdbc/QWERTY" name="jdbc/QWERTY" type="java.object"/> <ResourceLink global="jdbc/ASDFGH" name="jdbc/ASDFGH" type="java.object"/> </Context> Ну и что? Да, томкат позволяет такие фокусы, знаю, но WAS это другой продукт, поэтому приложение при деплойменте на WAS должно соответствовать требованиям этого сервера, причем что эти требования соответствуют спецификации. Кстати тип ресурса желательно указывать более конкретный, а не java.lang.Object. Слободской Андрей Т.е. подсмотрев ресурсы сервера WAS - их можно смело юзать - так получается. С чего такой вывод? Даже если ресурс описан на уровне сервера, он недоступен в контексте приложения, пока не выполнена привязка ссылки на ресурс (в приложении) к этому ресурсу. Поэтому пытаясь обратиться к ресурсу, даже зная его JNDI имя на сервере, должен будешь получить javax.naming.NameNotFoundException. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2007, 13:22 |
|
||
|
WebSphere AS и jndi ресурсы
|
|||
|---|---|---|---|
|
#18+
На самом деле это разница между глобальными и локальными jndi reference. Допустим,Вы создали datasource jndi/QWERTY на сервере через админ консоль.При этом описание появлется в файлах конфигурации WAS (наподобии server.xml в Томкате, только посложнее). Это глобальный datasource, доступ к которому из серверного приложения lookup("jdbc/QWERTY") , причем в самом приложении ничего писать не надо, надо только разрешить доступ в политике безопасности(по умолчанию разрешено). Понятное дело, это криво, к тому же грубо прописано в коде. Локальная jndi ссылка -это <resource-ref> в web.xml или ejb.xml или ещё где. В приложении при доступе к этому ресурсу пишется как и положено ctx.lookup("java:comp/env/jdbc/QWERTYRef"). Затем при установке приложения на сервер, предлагается сопоставить локальной ссылке QWERTYRef существующий реальный datasource на сервере. авторТ.е. подсмотрев ресурсы сервера WAS - их можно смело юзать - так получается. Да это так. Только это относится не только к WAS. Если Вы открыли доступ к RMI или к JNDI любого сервера (а по умолчанию он открыт) для любого удаленного приложения или запустили сомнительное приложение with grant codebase AllPermission, то будьте готовы к вполне возможным неприятностям. Посмотрите на Universal Test Client. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2007, 15:31 |
|
||
|
WebSphere AS и jndi ресурсы
|
|||
|---|---|---|---|
|
#18+
chroНа самом деле это разница между глобальными и локальными jndi reference. Допустим,Вы создали datasource jndi/QWERTY на сервере через админ консоль.При этом описание появлется в файлах конфигурации WAS (наподобии server.xml в Томкате, только посложнее). Это глобальный datasource, доступ к которому из серверного приложения lookup("jdbc/QWERTY") , причем в самом приложении ничего писать не надо, надо только разрешить доступ в политике безопасности(по умолчанию разрешено). Можно пример кода для такого случая? Или речь про режим когда Global Security Off? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2007, 16:04 |
|
||
|
WebSphere AS и jndi ресурсы
|
|||
|---|---|---|---|
|
#18+
Евгений, какого рода пример Вы ожидаете ? Что-то типа DataSource ds = (DataSource)(new InitialContext()).lookup("jdbc/QWERTY"); Global security немного туманное понятие, кстати в WAS 6.1 такого слова нету. Обычно это подключенный реестр пользователей + авторизованный доступ к некоторым службам. Вышенаписанный код работает на сервере и при включенном реестре пользователей. В крайнем случае можно подправить файл jndi.properties Если Вы ищете способ для обеспечения безопасности от того что я написал выше, обратите внимание на файлы лежащие в директории properties ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2007, 19:16 |
|
||
|
WebSphere AS и jndi ресурсы
|
|||
|---|---|---|---|
|
#18+
Хабаров Даже если ресурс описан на уровне сервера, он недоступен в контексте приложения, пока не выполнена привязка ссылки на ресурс (в приложении) к этому ресурсу. Поэтому пытаясь обратиться к ресурсу, даже зная его JNDI имя на сервере, должен будешь получить javax.naming.NameNotFoundException.Вот именно - что соединение проходит без проблем WAS Global Security - ON получается помимо описания используемых ресурсов в web.xml в приложении можно статично описать ещё некоторое подключение chro DataSource ds = (DataSource)(new InitialContext()).lookup("jdbc/QWERTY");и к нему цепляться. chro Если Вы ищете способ для обеспечения безопасности от того что я написал выше, обратите внимание на файлы лежащие в директории propertiesЗдесь можно поподробнее - или где можно это почитать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2007, 11:17 |
|
||
|
WebSphere AS и jndi ресурсы
|
|||
|---|---|---|---|
|
#18+
chroЕвгений, какого рода пример Вы ожидаете ? Что-то типа DataSource ds = (DataSource)(new InitialContext()).lookup("jdbc/QWERTY"); :) Все, понял. Я как-то ни разу не пробовал в своих приложениях делать именно так. Обычно делаю lookup("java:comp/env/jdbc/QWERTY"); И при отсутствии маппинга получаю NameNotFound. Спасибо за информацию, я почему то упустил этот момент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2007, 14:11 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=34426453&tid=1604680]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
40ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 329ms |

| 0 / 0 |
