|
|
|
Вопрос по идентификации middle tier пользователя в ORACLE
|
|||
|---|---|---|---|
|
#18+
Есть Weblogic сервер на котором крутится приложение на JSF+ADF. Авторизация и доступ по логину и паролю через пользователей в СУБД через ADF Security+Weblogic Authenticator. Необходимо фиксировать пользователей apllication-а в СУБД. Каким образом организовать? Пока что вычитал механизм передачи через контекст с глобальным доступом в Oracle. Для чего можно использовать DBMS_SESSION пакет (SET_IDENTIFIER, SET_CONTEXT), соответственно с разным client_id. Вопрос на каком этапе использовать: - перед внесением изменений в базу(каким образом передать в контекст); - во время логона (минус в том что могут зайти несколько пользователей аппликейшна и пул соединений может затереть предыдущий контекст); Есть ли другой механизм наподобие функции V в апексе или USER переменной в СУБД? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2013, 19:46:33 |
|
||
|
Вопрос по идентификации middle tier пользователя в ORACLE
|
|||
|---|---|---|---|
|
#18+
marlis82, Найди тему. Тут было про пул..логины...и прокси аутентификацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2013, 21:02:32 |
|
||
|
Вопрос по идентификации middle tier пользователя в ORACLE
|
|||
|---|---|---|---|
|
#18+
marlis82, как на счет варианта - в момент получения соединения из пула? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2013, 11:44:21 |
|
||
|
Вопрос по идентификации middle tier пользователя в ORACLE
|
|||
|---|---|---|---|
|
#18+
just_vladimir, Спасибо за ответ. А каким образом? Не будет ли параллельных запросов на запрос соединения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2013, 12:00:15 |
|
||
|
Вопрос по идентификации middle tier пользователя в ORACLE
|
|||
|---|---|---|---|
|
#18+
marlis82Необходимо фиксировать пользователей apllication-а в СУБД а что это значит? Контекст там можно использовать только в хранимках. У вас хранимки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2013, 12:14:37 |
|
||
|
Вопрос по идентификации middle tier пользователя в ORACLE
|
|||
|---|---|---|---|
|
#18+
Petro123, Да в СУБД есть хранимая процедура которая вызывается на стороне веб сервера, которая устанавливает аттрибуты в глобальном контексте для конкретного юзера, идентификатором наверное будет сешн айди соединения, далее аттрибуты айпи адрес, юзернейм, роли, время создания соединения и прочее. Таким образом при изменении каких либо данных в таблице триггер будет считывать логин и прочие аттрибуты вносящего имзенения пользователя через идентификатор сешшн айди. Но меня интересует вопрос в какой момент вызывать процедуру для установки данных в контексте? Или необходимо во всех табличках держать дополнительное поле с сешшн айди? При изменении данных загонять туда на стороне веб сервера данные? P.S.: Насчет предложения прозрачного проксирования, это не подходит т.к. не хотелось бы держать всех пользователей апплик в качестве пользователей СУБД. Неудобство администрирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2013, 12:50:01 |
|
||
|
Вопрос по идентификации middle tier пользователя в ORACLE
|
|||
|---|---|---|---|
|
#18+
marlis82, у меня такая схема работает без пула. Т.е. если нет пула и каждый пользователь получает свой коннект пока не отработает и не выйдет. Т.е. это длинные транзакции для бизнес приложения. Если публичный сервер, то там обезличенные пользователи ходят под одной схемой оракла (одним логином). Ну и естьсмешанная схема. Без пула? Юзверей не много? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2013, 13:22:00 |
|
||
|
Вопрос по идентификации middle tier пользователя в ORACLE
|
|||
|---|---|---|---|
|
#18+
marlis82, и задача какая? Просто логи кто что делал или Запрет дейчтвий по ролям? А то, мне кажется ты соединяешь 2 технологии вместе JSF\ADF и ручные Роли через ручной контекст БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2013, 13:31:01 |
|
||
|
Вопрос по идентификации middle tier пользователя в ORACLE
|
|||
|---|---|---|---|
|
#18+
Petro123, автору меня такая схема работает без пула. Т.е. если нет пула и каждый пользователь получает свой коннект пока не отработает и не выйдет.Т.е. это длинные транзакции для бизнес приложения. А загрузка СУБД? авторЕсли публичный сервер, то там обезличенные пользователи ходят под одной схемой оракла (одним логином). Ну и естьсмешанная схема. О это интересно. А можно поподробнее как реализовано? авторБез пула? Юзверей не много? пользователей на начальном этапе 150, потом 200 в течение полугода еще добавятся и т.д. по нарастающей автори задача какая? Просто логи кто что делал или Запрет действий по ролям? Тут и логи на каждую транзакцию и запрет действий, на уровне СУБД тоже будет на триггерах. авторА то, мне кажется ты соединяешь 2 технологии вместе JSF\ADF и ручные Роли через ручной контекст БД. Да есть такое ))) Роли на сервере приложений будут на уровне адф секьюрити + авторизация доступ на конкретные jsf страницы. На стороне сервера предполагается второй уровень защиты описанный выше, ну плюс логгирование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2013, 14:09:52 |
|
||
|
Вопрос по идентификации middle tier пользователя в ORACLE
|
|||
|---|---|---|---|
|
#18+
marlis82, >А загрузка СУБД? наверно нагрузку имел ввиду? ). Ну конечно не Одноклассники. Но 1K - 10K потянет. 2. Смешивать не очень хорошо. А вот, про то что ходят под одним, так это ты мне должен рассказывать. это стандарт в Java - Хибер . Поэтому, с ним определись. Все проекты на нём. Иначе: Код: java 1. 2. 3. 4. 5. 6. у меня так сайт работает) ______________________________________________ "Сделай настолько просто, насколько это возможно, но не проще". © А. Эйнштейн. AutoPOI.ru — ГИС-технологии для Oracle ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2013, 14:32:25 |
|
||
|
Вопрос по идентификации middle tier пользователя в ORACLE
|
|||
|---|---|---|---|
|
#18+
marlis82Тут и логи на каждую транзакцию и запрет действий, на уровне СУБД тоже будет на триггерах. если нравится в СУБД, тогда минимум в Хибере...можно без пула. Если с пулом то найди тему - прокси-ХХХХХХ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2013, 14:37:57 |
|
||
|
Вопрос по идентификации middle tier пользователя в ORACLE
|
|||
|---|---|---|---|
|
#18+
Petro123, авторнаверно нагрузку имел ввиду? ). Ну конечно не Одноклассники. Но 1K - 10K потянет. Да, но даже при 2К я думаю PGA всю память съест. авторСмешивать не очень хорошо. А вот, про то что ходят под одним, так это ты мне должен рассказывать. это стандарт в Java - Хибер. Поэтому, с ним определись. Все проекты на нём. Иначе: Сервлет{ Conn = GetConnection; Conn.SetInfo(IP.....) Conn. поработал Conn.Close } у меня так сайт работает) Я использую АДФ (Fusion App) а это уже ОРМ. Тут такое не проканает ) авторесли нравится в СУБД, тогда минимум в Хибере...можно без пула. Если с пулом то найди тему - прокси-ХХХХХХ Можно поподробнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2013, 15:19:28 |
|
||
|
Вопрос по идентификации middle tier пользователя в ORACLE
|
|||
|---|---|---|---|
|
#18+
marlis82Можно поподробнее? С праздником мужики. Вопрос по JAAS авторДа, но даже при 2К я думаю PGA всю память съест. всю - это сколько? Неужели ты думаешь, что Оракл 2-К записей выкидывают на помойку? Или срочно переходят под Веб? Ну возьми в цикле коннекты и запусти SELECT FROM DUAL и проверь) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2013, 16:09:44 |
|
||
|
Вопрос по идентификации middle tier пользователя в ORACLE
|
|||
|---|---|---|---|
|
#18+
marlis82Я использую АДФ (Fusion App) а это уже ОРМ. и как ты скрещиваешь ОРМ и хранимки (БЛ в БД)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2013, 16:11:47 |
|
||
|
Вопрос по идентификации middle tier пользователя в ORACLE
|
|||
|---|---|---|---|
|
#18+
Petro123, На самом деле хранимка используется только для того чтобы выставить данные в глобальном контексте. Насчет Proxy Authen она не подходит я изначально писал, в оракле требование, я так понял , чтобы пользователи аплпикейшна были также и пользователями оракла. Разница реализации между использованием прокси аус и использованием пула соединений лишь в том, что в базу пользователь лезет под личной учеткой или под общей. А на стороне БД пользователи в обеих случаях есть и являются пользователями БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2013, 16:20:36 |
|
||
|
Вопрос по идентификации middle tier пользователя в ORACLE
|
|||
|---|---|---|---|
|
#18+
marlis82чтобы пользователи аплпикейшна были также и пользователями оракла. 1. У Оракла под пользователями понимается Схема (в пику сиквелу). Т.е. CREATE USER логин пароль создаёт пол-ля. Дальше они вынуждены работать не совместно, т.к. данные НЕ общие. Их можно обобщить, но тогда надо раздавать права "владельца" всем. Т.е. в данном варианте считай, как в сиквеле у каждого своя БД. 2. В той ссылке делается вручную в пуле передаётся инфа через контекст. ИЛИ 2 вариант - CREATE USER GLOBAL - это корпоративный пользователь. Проясни про пользователей Оракла исходя из п.п.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2013, 16:33:49 |
|
||
|
Вопрос по идентификации middle tier пользователя в ORACLE
|
|||
|---|---|---|---|
|
#18+
marlis82чтобы пользователи аплпикейшна были также и пользователями оракла если ты это сделаешь, то тебе надо будет при заведении нового пользователя давать ему гранты на все таблички. Либо я дела скрипт: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. кому где удобнее писать. И есть ли в штате разработчик БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2013, 16:40:49 |
|
||
|
Вопрос по идентификации middle tier пользователя в ORACLE
|
|||
|---|---|---|---|
|
#18+
получается такая линейка масштабирования сверху вниз Код: plaintext 1. 2. 3. 4. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2013, 16:50:54 |
|
||
|
Вопрос по идентификации middle tier пользователя в ORACLE
|
|||
|---|---|---|---|
|
#18+
1. У Оракла под пользователями понимается Схема (в пику сиквелу). Т.е. CREATE USER логин пароль создаёт пол-ля. Дальше они вынуждены работать не совместно, т.к. данные НЕ общие. Их можно обобщить, но тогда надо раздавать права "владельца" всем. Да конечно никто не спорит. Естественно нужно заводить пользователей (схему), создавать паблики, давать им гранты на текущую схему и т.д. Т.е. в данном варианте считай, как в сиквеле у каждого своя БД. схема имелась ввиду наверное) 2. В той ссылке делается вручную в пуле передаётся инфа через контекст. ИЛИ 2 вариант - CREATE USER GLOBAL - это корпоративный пользователь. Проясни про пользователей Оракла исходя из п.п.1 [/quote] исходя из того что я читал про ксвозную аутентиф, напишу так: На стороне БД: create user mark identified by passs create user natasha identified by passs alter user mark GRANT CONNECT THROUGH dbuser; alter user mark GRANT CONNECT THROUGH dbuser; На стороне вэблоджика соотв-но настраивается секьюрити реалм. Но этот вариант меня не устраивает вообще. Нужен 1 пользователь базы со всеми правами селект апдейт делет, и апп пользователи, данные о которых забиваются в глобальном контексте. Повторю вопрос - на какой стадии передавать в контекст данные о пользователе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2013, 16:52:54 |
|
||
|
Вопрос по идентификации middle tier пользователя в ORACLE
|
|||
|---|---|---|---|
|
#18+
marlis82схема имелась ввиду наверное) Я имел ввиду, у Оракла "Схема" = "БД" у Сиквела. авторна какой стадии передавать в контекст данные о пользователе? сразу после получения коннекта через который МОЖНО передать SQL выражением. Конкретно не знаю - смотри свой ОРМ. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2013, 17:20:03 |
|
||
|
Вопрос по идентификации middle tier пользователя в ORACLE
|
|||
|---|---|---|---|
|
#18+
marlis82, Какие только люди велосипеды не изобретают, лишm бы не читать документацию, например про SessionEventAdapter (SessionEventListener). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2013, 22:37:33 |
|
||
|
Вопрос по идентификации middle tier пользователя в ORACLE
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев, А как прикрутить туда информацию на стороне веб приложения и извлечь ее на стороне СУБД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2013, 09:04:41 |
|
||
|
Вопрос по идентификации middle tier пользователя в ORACLE
|
|||
|---|---|---|---|
|
#18+
Petro123, Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2013, 09:10:50 |
|
||
|
Вопрос по идентификации middle tier пользователя в ORACLE
|
|||
|---|---|---|---|
|
#18+
marlis82, Например. 1. На стороне Веб приложения подписываешься на событие открытие сессии (или перед Update) 2. В обработчике события берешь getPrincipal (ну или что-то еще) и текущую сессию ORM. 3. В сессию пишешь при помощи PreparedStatement значение из п. 2, например в контекст. 4. В триггере на стороне БД делашь все что хочешь со значением из контекста (ну или в тексте запроса вьюшки или еще где захочешь). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2013, 13:37:01 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38190036&tid=2129715]: |
0ms |
get settings: |
14ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 300ms |
| total: | 455ms |

| 0 / 0 |
