|
|
|
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
|
|||
|---|---|---|---|
|
#18+
В качестве DB у меня Oracle XE, а web-приложение написал на с Jboss-SEAM 2.2. Несколько раз замечал подобное в продуктивном режиме, что конечно весьма меня печалит! Как с таким бороться? Отключить connection pull ? (в принципе одновременных юзеров у меня не планируется больше 100! Для Оракл это соответственно не проблема бы была....) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2013, 22:42:58 |
|
||
|
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
|
|||
|---|---|---|---|
|
#18+
Естественно. При использовании пула соединения общие. Как вы вообще умудрились их "персонализировать"? Использовали Seam conversation? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2013, 10:11:04 |
|
||
|
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
|
|||
|---|---|---|---|
|
#18+
ivanra, Дааа, почти все seam-классы у меня conversation. Но как теперь правильно поступить?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2013, 01:32:35 |
|
||
|
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
|
|||
|---|---|---|---|
|
#18+
ViktorWM, Тут нужно разбиратся с твоей архитектурой, если просто везде conversation то это плохо, они нужны не всегда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2013, 07:19:50 |
|
||
|
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
|
|||
|---|---|---|---|
|
#18+
То, что используются conversation, ничего страшного, но как удалось персонализировать коннекты? Может, имелось в виду, что разные клиенты обновляют одни и те же сущности во время длинных транзакций в этих самых conversation? В этом случае надо просто использовать блокировки, например, оптимистическая блокировка на основе version. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2013, 09:34:06 |
|
||
|
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
|
|||
|---|---|---|---|
|
#18+
ivanraТо, что используются conversation, ничего страшного, но как удалось персонализировать коннекты? дык в том то и проблема, что не удалось! Говорю же - ловит чужие сессии! Я бы отключил вообще этот блинский connection pool! 100 (Oracle-)cессий на 100 (=абсолютный максимум) одновр. юзеров меня вполне устроят!! Только как его отключить в Jboss 4.2 - я по доке не фига не разобрался! (вот в Jboss 7 садишь просто спец. параметр на = false) А тут как??? :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2013, 22:06:40 |
|
||
|
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
|
|||
|---|---|---|---|
|
#18+
GregTk если просто везде conversation то это плохо, они нужны не всегда. не, не везде! Это-то я хоть понимаю ))) Архитектура обычная, seam-gen-ом (по стандарту!) созданная изначально на основе 2-х db-табличек (master и slave) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2013, 22:08:45 |
|
||
|
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
|
|||
|---|---|---|---|
|
#18+
Но проблема ещё и в том, что залогинившись, я кеширую инфу юзера на уровне ДБсессии(!!!) т.е в pl/sql-переменных! Именно поэтому эта дб-сессия до конца веб-сеанса не должна попасть "чужаку"! Но как этого добиться то??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2013, 19:15:02 |
|
||
|
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
|
|||
|---|---|---|---|
|
#18+
ViktorWM, А почему не закешировать на уровне http-session, для этого точно есть объективные причины? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2013, 19:17:18 |
|
||
|
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
|
|||
|---|---|---|---|
|
#18+
GregTkViktorWM, А почему не закешировать на уровне http-session, для этого точно есть объективные причины? Да да! Они есть - и имя им безопасность (точнее - контроль доступа). Внутри oracle-базы значительно более доверительный уровень. А веб-приложению не разрешается видеть все данные таблицы SecureObjs, а только те её строки которые удовлетворяют конкретным логину/паролю! есть (Oracle!)вьюха: Код: plsql 1. 2. которая "грантуется" схемке, на которую (только на неё одну!!!) есть доступ у веб-приложения(точнее даже нескольких приложений!!!) grant select on vMySecureObjs to SomeWebSchema а в приложении в соответстующей Entity для JPA cкармливаются только название этой вьюхи! - vMySecureObjs (ну а запись в конечную таблицу тоже идёт не на прямую а только через разрешенные (грантованные схеме core_schema!) процедуры) Если бы ты подсказал какой то способ как скормить hibernetу для построения правильного SQL-запроса вместо вьюхи что-то вроде конструкции "table( pck_MySecureObjs.SecureObjs( ?, ? ) )" (с параметрами логин/пароль соответственно!) то глобальные переменные db-сессии оказались бы не нужны! Ну или ещё какой-то другой способ... (например выставлять эти переменные db-сессии НЕПОСРЕДСТВЕННО ПЕРЕД этим главным sql-запросом! <- Не представляю как это делается!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2013, 00:10:16 |
|
||
|
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
|
|||
|---|---|---|---|
|
#18+
херасе трюкачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2013, 02:59:30 |
|
||
|
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
|
|||
|---|---|---|---|
|
#18+
обычно с такими схемами секьюрити в комплекте идет страничка доступная по http с формочкой ввода, которая принимает admin/p@ssw0rd ну так для тестинга:) Чес слово не раз видел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2013, 03:03:34 |
|
||
|
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
|
|||
|---|---|---|---|
|
#18+
http://en.wikibooks.org/wiki/Java_Persistence/Auditing_and_Security] http://en.wikibooks.org/wiki/Java_Persistence/Auditing_and_Security Общий ответ для J2EE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2013, 09:40:45 |
|
||
|
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
|
|||
|---|---|---|---|
|
#18+
ViktorWMGregTkViktorWM, А почему не закешировать на уровне http-session, для этого точно есть объективные причины? Да да! Они есть - и имя им безопасность (точнее - контроль доступа). Внутри oracle-базы значительно более доверительный уровень. А веб-приложению не разрешается видеть все данные таблицы SecureObjs, а только те её строки которые удовлетворяют конкретным логину/паролю! На самом деле уровень защиты получается идентичный, не считая случая когда сервер приложений в руках у злоумышленника. так зачем тогда связываться со всем этим геморроем? Или у вас legacy-база и ничего уже исправить нельзя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2013, 09:46:15 |
|
||
|
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
|
|||
|---|---|---|---|
|
#18+
Именно этот случай, когда хакают сервер приложений для меня очень важно учитывать! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2013, 12:08:17 |
|
||
|
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
|
|||
|---|---|---|---|
|
#18+
ну так что -есть у кого то идеи? То есть: - как привязать оракл-сессию до конца жизни веб-сеанса юзера? ИЛИ - как заменить select который генерируется JBA/hibernat-ом на свой с 2 параметрами? (cм выше!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2013, 04:07:02 |
|
||
|
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
|
|||
|---|---|---|---|
|
#18+
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. Это не то что нужно? Сам я с такой хитрой авторизацией не сталкивался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2013, 08:42:14 |
|
||
|
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
|
|||
|---|---|---|---|
|
#18+
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. Это не то что нужно? Сам я с такой хитрой авторизацией не сталкивался. Не, это не то! Контекст сессии то остается. Я думал ты знаешь, как " подтасовать" хайбернетовский селект?? :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2013, 13:10:07 |
|
||
|
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
|
|||
|---|---|---|---|
|
#18+
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. Я тут недавно узнал что у меня будет похожая задача :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2013, 13:53:33 |
|
||
|
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
|
|||
|---|---|---|---|
|
#18+
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-проект? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2013, 02:29:33 |
|
||
|
(connection pull?)проблема в JBOSS: database-cессия иногда попадает к чужому web-юзеру.
|
|||
|---|---|---|---|
|
#18+
ViktorWM, В Eclipse говоришь :) вот тебе ссылка EclipseLink Осталось только в доках Seam посмотреть как заменить Hibernate на EclipseLink и должно взлететь :) Всё это теория конечно. :) А свою я реализацию буду делать на связке Spring. Seam у меня там не будет точно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2013, 06:50:22 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38182939&tid=2129768]: |
0ms |
get settings: |
15ms |
get forum list: |
31ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
74ms |
get topic data: |
23ms |
get forum data: |
5ms |
get page messages: |
95ms |
get tp. blocked users: |
3ms |
| others: | 295ms |
| total: | 555ms |

| 0 / 0 |
