работа с сессиями

 
0
 
Oracle
ava
guest | 01.12.2005, 12:36
Hi All!

возможно ли в оракле работать с сессиями клиентов: т.е. записывать в сессию какие либо переменные, типа как в апаче REQUEST_PROTOCOL и др.
вообще задача такая: есть уровень БД, уровень приложений, и уровень клиента, между приложением и клентом связь через веб, и своими средствами я могу аутентифицировать и авторизировать клиента, естественно что между приложение общается с БД по другому, и как бы получается что БД не знает ничего о клиенте (приложение ведь конектиться к БД под определенным пользователем), а хотелось бы при конекте передать сведения о клиенте в сессию БД, чтобы в последующем их обрабатывать (в триггере или в процедере), возможно ли такое в прицепе, интересует идиология, а может быть есть уже какие наработки


ЗЫЖ сервер Oracle 9i R2
Comments (4)
ava
LSD | 01.12.2005, 14:32 #
Способов достаточно, можно например записывать нужные параметры в CONTEXT, можно использовать PACKAGE переменные, наконец можно использовать PROXY USER. Что в твоем случае лучше подходит сложно сказать, надо поподробнее знать задачу, как то: сколько всего будет пользователей, пользователи добавляются/удаляются динамичиски или DBA, сколько надо хранить параметров для сессии и откуда их надо будет в основном использовать (триггеры или ХП).
ava
guest | 02.12.2005, 05:30 #
Цитата
записывать нужные параметры в CONTEXT, можно использовать PACKAGE переменные, наконец можно использовать PROXY USER

ну package переменные я еще представляю, а остальное, можно плз поподробнее или ссылку на доку

Цитата


сколько всего будет пользователей, пользователи добавляются/удаляются динамичиски или DBA


что имелось ввиду?

Цитата


сколько надо хранить параметров для сессии и откуда их надо будет в основном использовать (триггеры или ХП).



да хотябы один (табельный номер), и использовать нужно в тригерах
ava
LSD | 02.12.2005, 11:27 #
Application Context, грубо говоря контекст это нечно вроде переменных окружения в ОС. Значения контекста можно использовать в триггерах, хранимых процедурах и вьюерах. Например:
SELECT * FROM orders_tab WHERE custno = SYS_CONTEXT ('order_entry', 'cust_num')


Proxy User это пользователь который не соединяется с базой непосредственно а делает это через другого пользователя. Удобен тем что это полноценный пользователь БД и с ним можно использовать все возможности Oracle по безопасности.Proxy Authentication and Authorization.

Как я понял тебе надо идентифицировать сотрудников предприятия, и особых наворотов не требуется. Я думаю тебе будет достаточно контекста и package переменных.
ava
guest | 06.12.2005, 09:26 #
2LSD: сенькс большое, буду копать
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
  guest ava  LSD
advanced
Submit