Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / (connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру. / 21 сообщений из 21, страница 1 из 1
11.03.2013, 22:42:58
    #38180529
ViktorWM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
В качестве DB у меня Oracle XE, а web-приложение написал на с Jboss-SEAM 2.2.

Несколько раз замечал подобное в продуктивном режиме, что конечно весьма меня печалит! Как с таким бороться? Отключить connection pull ? (в принципе одновременных юзеров у меня не планируется больше 100! Для Оракл это соответственно не проблема бы была....)
...
Рейтинг: 0 / 0
12.03.2013, 10:11:04
    #38180834
ivanra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
Естественно. При использовании пула соединения общие. Как вы вообще умудрились их "персонализировать"? Использовали Seam conversation?
...
Рейтинг: 0 / 0
13.03.2013, 01:32:35
    #38182290
ViktorWM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
ivanra,

Дааа, почти все seam-классы у меня conversation. Но как теперь правильно поступить??
...
Рейтинг: 0 / 0
13.03.2013, 07:19:50
    #38182410
GregTk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
ViktorWM,

Тут нужно разбиратся с твоей архитектурой, если просто везде conversation то это плохо, они нужны не всегда.
...
Рейтинг: 0 / 0
13.03.2013, 09:34:06
    #38182505
ivanra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
То, что используются conversation, ничего страшного, но как удалось персонализировать коннекты?
Может, имелось в виду, что разные клиенты обновляют одни и те же сущности во время длинных транзакций в этих самых conversation? В этом случае надо просто использовать блокировки, например, оптимистическая блокировка на основе version.
...
Рейтинг: 0 / 0
13.03.2013, 22:06:40
    #38182938
ViktorWM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
ivanraТо, что используются conversation, ничего страшного, но как удалось персонализировать коннекты?
дык в том то и проблема, что не удалось! Говорю же - ловит чужие сессии!

Я бы отключил вообще этот блинский connection pool! 100 (Oracle-)cессий на 100 (=абсолютный максимум) одновр. юзеров меня вполне устроят!!

Только как его отключить в Jboss 4.2 - я по доке не фига не разобрался! (вот в Jboss 7 садишь просто спец. параметр на = false)
А тут как??? :-(
...
Рейтинг: 0 / 0
13.03.2013, 22:08:45
    #38182939
ViktorWM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
GregTk если просто везде conversation то это плохо, они нужны не всегда.

не, не везде! Это-то я хоть понимаю )))
Архитектура обычная, seam-gen-ом (по стандарту!) созданная изначально на основе 2-х db-табличек (master и slave)
...
Рейтинг: 0 / 0
14.03.2013, 19:15:02
    #38184587
ViktorWM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
Но проблема ещё и в том, что залогинившись, я кеширую инфу юзера на уровне ДБсессии(!!!) т.е в pl/sql-переменных! Именно поэтому эта дб-сессия до конца веб-сеанса не должна попасть "чужаку"! Но как этого добиться то???
...
Рейтинг: 0 / 0
14.03.2013, 19:17:18
    #38184592
GregTk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
ViktorWM,

А почему не закешировать на уровне http-session, для этого точно есть объективные причины?
...
Рейтинг: 0 / 0
15.03.2013, 00:10:16
    #38184851
ViktorWM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
GregTkViktorWM,

А почему не закешировать на уровне http-session, для этого точно есть объективные причины?

Да да! Они есть - и имя им безопасность (точнее - контроль доступа). Внутри oracle-базы значительно более доверительный уровень. А веб-приложению не разрешается видеть все данные таблицы SecureObjs, а только те её строки которые удовлетворяют конкретным логину/паролю!

есть (Oracle!)вьюха:

Код: plsql
1.
2.
create or replace view core_schema.vMySecureObjs as
select ... from table( pck_MySecureObjs.SecureObjs( pck_GlobaVars.getLastGoodLogin, pck_GlobaVars.getLastGoodPwd ))


которая "грантуется" схемке, на которую (только на неё одну!!!) есть доступ у веб-приложения(точнее даже нескольких приложений!!!)

grant select on vMySecureObjs to SomeWebSchema

а в приложении в соответстующей Entity для JPA cкармливаются только название этой вьюхи! - vMySecureObjs
(ну а запись в конечную таблицу тоже идёт не на прямую а только через разрешенные (грантованные схеме core_schema!) процедуры)

Если бы ты подсказал какой то способ как скормить hibernetу для построения правильного SQL-запроса вместо вьюхи что-то вроде конструкции "table( pck_MySecureObjs.SecureObjs( ?, ? ) )" (с параметрами логин/пароль соответственно!) то глобальные переменные db-сессии оказались бы не нужны!
Ну или ещё какой-то другой способ... (например выставлять эти переменные db-сессии НЕПОСРЕДСТВЕННО ПЕРЕД этим главным sql-запросом! <- Не представляю как это делается!)
...
Рейтинг: 0 / 0
15.03.2013, 02:59:30
    #38184910
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
херасе трюкачи
...
Рейтинг: 0 / 0
15.03.2013, 03:03:34
    #38184913
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
обычно с такими схемами секьюрити в комплекте идет страничка доступная по http с формочкой ввода, которая принимает admin/p@ssw0rd ну так для тестинга:) Чес слово не раз видел
...
Рейтинг: 0 / 0
15.03.2013, 09:40:45
    #38185072
oneHalf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
http://en.wikibooks.org/wiki/Java_Persistence/Auditing_and_Security] http://en.wikibooks.org/wiki/Java_Persistence/Auditing_and_Security

Общий ответ для J2EE.
...
Рейтинг: 0 / 0
15.03.2013, 09:46:15
    #38185079
ivanra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
ViktorWMGregTkViktorWM,
А почему не закешировать на уровне http-session, для этого точно есть объективные причины?
Да да! Они есть - и имя им безопасность (точнее - контроль доступа). Внутри oracle-базы значительно более доверительный уровень. А веб-приложению не разрешается видеть все данные таблицы SecureObjs, а только те её строки которые удовлетворяют конкретным логину/паролю!

На самом деле уровень защиты получается идентичный, не считая случая когда сервер приложений в руках у злоумышленника.
так зачем тогда связываться со всем этим геморроем? Или у вас legacy-база и ничего уже исправить нельзя?
...
Рейтинг: 0 / 0
15.03.2013, 12:08:17
    #38185358
ViktorWM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
Именно этот случай, когда хакают сервер приложений для меня очень важно учитывать!
...
Рейтинг: 0 / 0
16.03.2013, 04:07:02
    #38186500
ViktorWM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
ну так что -есть у кого то идеи? То есть:

- как привязать оракл-сессию до конца жизни веб-сеанса юзера?
ИЛИ
- как заменить select который генерируется JBA/hibernat-ом на свой с 2 параметрами? (cм выше!)
...
Рейтинг: 0 / 0
16.03.2013, 08:42:14
    #38186527
GregTk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
ViktorWM,

По ссылке выше есть такая штука

Some databases such as the Oracle database provide a mechanism to set a proxy user on an existing database connection. This allows for a shared connection pool to be used, but to also gives the database a user context.
Some JPA providers have support for proxy authentication.
EclipseLink/TopLink : Provide support for Oracle proxy authentication.


Это не то что нужно? Сам я с такой хитрой авторизацией не сталкивался.
...
Рейтинг: 0 / 0
16.03.2013, 13:10:07
    #38186606
ViktorWM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
GregTkViktorWM,

По ссылке выше есть такая штука

Some databases such as the Oracle database provide a mechanism to set a proxy user on an existing database connection. This allows for a shared connection pool to be used, but to also gives the database a user context.
Some JPA providers have support for proxy authentication.
EclipseLink/TopLink : Provide support for Oracle proxy authentication.


Это не то что нужно? Сам я с такой хитрой авторизацией не сталкивался.
Не, это не то! Контекст сессии то остается. Я думал ты знаешь, как " подтасовать" хайбернетовский селект?? :-(
...
Рейтинг: 0 / 0
16.03.2013, 13:53:33
    #38186627
GregTk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
ViktorWM,

Я конечно зануда, но для общего развития объясни мне на пальцах почему вот этот метод https://blogs.oracle.com/jheadstart/entry/using_proxy_authentication] https://blogs.oracle.com/jheadstart/entry/using_proxy_authentication тебе не подходит?

авторProxy Authentication is an Oracle DB feature that allows you to create a database session for a particular user _within_ a database connection opened for someone else, for example a more general group account.


Я тут недавно узнал что у меня будет похожая задача :)
...
Рейтинг: 0 / 0
18.03.2013, 02:29:33
    #38187493
ViktorWM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
2 GregTk :

ну ты очень хороший, я б даже сказал правильный зануда. )))) Я тоже копаю вглубь пока не пойму досконально.
Но есть тут 2 момента:

1.авторThe Goofy stuff you'll have to do for every end user account and might seem unattractive administrative overhead,
это они очень верно написали! Реально "unattractive" вписывать в базу для тысячи потенциальных юзеров свою схему! А так у меня всего одна user-таблица с логинами и паролями! Хотя на самый крайняк - сделаю!

2. все эти JDeveloper и "a new Application Module " - для меня пустой звук. Я работаю в Эклипсе с seam 2.2.
Когда сделаешь свою задачу - пришли плиз подробный кусок кода - как коннектить этот View Object в SEAM-проект?
...
Рейтинг: 0 / 0
18.03.2013, 06:50:22
    #38187528
GregTk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
ViktorWM,

В Eclipse говоришь :) вот тебе ссылка EclipseLink
Осталось только в доках Seam посмотреть как заменить Hibernate на EclipseLink и должно взлететь :)

Всё это теория конечно. :)

А свою я реализацию буду делать на связке Spring. Seam у меня там не будет точно :)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / (connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру. / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]