|
|
|
Доменная аутентификация в Oracle 10g
|
|||
|---|---|---|---|
|
#18+
Добрый день, имею трудности с непониманием реализации доменной аутентификации пользователей в pl/sql процедуре. На сегодняшний день я веду таблицу пользователей, и они логинятся через интерфейс, вводя логин и пароль. Но так же их учетные записи ведутся в LDAP и пользователь вводит логин пароль при входе в компьютер. Мне необходимо, каким то образом получать его логин и связывать с правами доступа в той же таблице с пользователя в pl/sql процедуре. Я совершенно не имею представления как это реализовать. p.s. Oracle Database 10g Enterprise Edition Release 10.1.0.5.0 - 64bi PL/SQL Release 10.1.0.5.0 - Production CORE 10.1.0.5.0 Production TNS for Linux: Version 10.1.0.5.0 - Production NLSRTL Version 10.1.0.5.0 - Production ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2016, 14:50:36 |
|
||
|
Доменная аутентификация в Oracle 10g
|
|||
|---|---|---|---|
|
#18+
Profeccor10.1.0.5.0Боже, какая гниль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2016, 14:55:25 |
|
||
|
Доменная аутентификация в Oracle 10g
|
|||
|---|---|---|---|
|
#18+
sys_context('userenv','os_user') в сессии пользователя вернёт компьютерный логин из-под которого инициирована сессия в oracle ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2016, 14:58:45 |
|
||
|
Доменная аутентификация в Oracle 10g
|
|||
|---|---|---|---|
|
#18+
Fogel, немного не понимаю, что значит в сессии пользователя? выполняю код в процедуре и получаю ответ "oracle" не зависимо от того под чей учеткой вошел на компьютер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2016, 15:06:49 |
|
||
|
Доменная аутентификация в Oracle 10g
|
|||
|---|---|---|---|
|
#18+
ProfeccorFogel, немного не понимаю, что значит в сессии пользователя? выполняю код в процедуре и получаю ответ "oracle" не зависимо от того под чей учеткой вошел на компьютер. откройте сессию sqlplus или developer, соединившись с oracle и выполните select sys_context('userenv','os_user') from dual; select sys_context('userenv','session_user') from dual; сравните. " и получаю ответ "oracle"" значит процедура вызывается без прямого участия пользователя (джобом, например), либо между пользователем и вызовом процедуры есть звено, которое не передаёт переменные сеанса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2016, 15:17:17 |
|
||
|
Доменная аутентификация в Oracle 10g
|
|||
|---|---|---|---|
|
#18+
ProfeccorНа сегодняшний день я веду таблицу пользователей, и они логинятся через интерфейс, вводя логин и пароль. То есть у вас некоторое приложение обезличенно дёргает процедуру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2016, 15:21:48 |
|
||
|
Доменная аутентификация в Oracle 10g
|
|||
|---|---|---|---|
|
#18+
Fogel, Конечно, но же есть звено. Все пользователи вызывают одну и туже процедуру находящуюся в схеме adm, которая формирует html страницу, которую выплевывает веб сервер. результат select sys_context('userenv','session_user') from dual; всегда одинаков "adm". если я выполняю select sys_context('userenv','os_user') from dual; через SQL Developer то получаю свой логин на компьютер, а если вызываю процедуру то "oracle". Меня не устраивает данное решение. Я могу вытащить логин компьютера через активх, но это некрасиво и только в IE и неправильно. Как через Oracle получить его? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2016, 15:26:11 |
|
||
|
Доменная аутентификация в Oracle 10g
|
|||
|---|---|---|---|
|
#18+
Fogel, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2016, 15:28:16 |
|
||
|
Доменная аутентификация в Oracle 10g
|
|||
|---|---|---|---|
|
#18+
ProfeccorКак через Oracle получить его? в данном случае без изменений никак. oracle показывает окружение пользователя так, как вы это окружение передали. кто даму кормит, тот и танцует. приложение обращается к oracle - oracle показывает то окружение, с которым приложение к нему пришло. если вы в приложении не передаёте ники пользователей, то oracle никак их не родит. в приведённой процедуре нет никаких входных и выходных параметров: она извлекает переменные сеанса вообще безотносительно вызывающего, то есть берёт системного пользователя базы - это "oracle". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2016, 15:38:36 |
|
||
|
Доменная аутентификация в Oracle 10g
|
|||
|---|---|---|---|
|
#18+
"в приведённой процедуре нет никаких входных и выходных параметров: она извлекает переменные сеанса вообще безотносительно вызывающего, то есть берёт системного пользователя базы - это "oracle". " тут я некорректно выразился. в приведённой процедуре нет никаких входных и выходных параметров: она извлекает переменные сеанса вообще безотносительно вызывающего, то есть берёт системного пользователя базы - это "oracle", из-под которого ваше приложение смотрит в БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2016, 15:48:19 |
|
||
|
Доменная аутентификация в Oracle 10g
|
|||
|---|---|---|---|
|
#18+
Fogel, Что я могу изменить чтобы передавать их туда? Я понимаю что данные которые мне нужны отсутсвуют и что все вызовы процедур идут через одного пользователя oracle, но я не знаю что мне изменить и как реализовать обращение по другому? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2016, 15:52:10 |
|
||
|
Доменная аутентификация в Oracle 10g
|
|||
|---|---|---|---|
|
#18+
Profeccor... Что я могу изменить чтобы передавать их туда? Я понимаю что данные которые мне нужны отсутсвуют и что все вызовы процедур идут через одного пользователя oracle, но я не знаю что мне изменить и как реализовать обращение по другому? Profeccor... Конечно, но же есть звено. Все пользователи вызывают одну и туже процедуру находящуюся в схеме adm, которая формирует html страницу, которую выплевывает веб сервер. результат select sys_context('userenv','session_user') from dual; всегда одинаков "adm". если я выполняю select sys_context('userenv','os_user') from dual; через SQL Developer то получаю свой логин на компьютер, а если вызываю процедуру то "oracle". Меня не устраивает данное решение. Я могу вытащить логин компьютера через активх, но это некрасиво и только в IE и неправильно. Как через Oracle получить его? Ответ зависит от типа веб сервера и каким framеwork вы пользуетесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2016, 16:14:47 |
|
||
|
Доменная аутентификация в Oracle 10g
|
|||
|---|---|---|---|
|
#18+
ProfeccorFogel, Что я могу изменить чтобы передавать их туда? это вопрос архитектуры. какое приложение вы используете для "они логинятся через интерфейс, вводя логин и пароль" так и не стало понятно, кроме того, что это веб-сервер (какой? голый апач, транслирующий http команды как есть или какой-нибудь веблоджик/томкат с задеплоенным java-приложением и т.п.). надо работать с этим приложением. например, можно получать на входе в приложении все возможные для http-протокола данные, инициируя со стороны oracle в ответ на попытку авторизации соответствующие запросы с помощью пакета UTL_HTTP. по http передаётся много параметров, в том числе определённые параметры окружения пользователя. желаю успехов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2016, 16:16:47 |
|
||
|
Доменная аутентификация в Oracle 10g
|
|||
|---|---|---|---|
|
#18+
Vadim Lejnin, Я пишу все на pl/sql. веб сервер Apache. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2016, 16:20:15 |
|
||
|
Доменная аутентификация в Oracle 10g
|
|||
|---|---|---|---|
|
#18+
Profeccor, Хмм apache напрямую работать с oracle не умеет что у него внутри? mod_plsql/perl/php ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2016, 16:33:16 |
|
||
|
Доменная аутентификация в Oracle 10g
|
|||
|---|---|---|---|
|
#18+
Vadim Lejnin, mod_plsql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2016, 16:35:10 |
|
||
|
Доменная аутентификация в Oracle 10g
|
|||
|---|---|---|---|
|
#18+
Profeccor, Стандартный путь: 3.11.1 Connection Pooling with mod_plsql Дока... The important details in the example shown in steps 1-10 are: Each Oracle HTTP Server process serves all types of requests, such as static files requests, servlet requests, and mod_plsql requests. There is no control on which Oracle HTTP Server process services the next request. One Oracle HTTP Server process cannot use or share the connection pool created by another process. Each Oracle HTTP Server process pools at most one database connection for each DAD. User sessions are switched within a pooled database connection for a DAD. For DADs based on Oracle Application Server Single Sign-On (SSO), proxy authentication is used to switch the user session . For non-SSO users, using HTTP basic authentication with the username and password not in the DAD, users are re-authenticated on the same connection. Multiple DADs may point to the same database instance, but database connections are not shared across DADs even within the same process. Unused DADs do not result in any database connections. ... SSO - требует отдельного продукта, типа OAM, Которого Вы сейчас не найдете (Уже не поддерживается). Есть его потомок: OIM, но будет ли он работать в связке с mod_plsql? Кроме того OIM требует отдельной лицензии. Штатное использование доменной авторизации через Kerberos - фиг его знает. Может и можно прикрутить (я например не рискну), но для этого нужно досконально разбираться в технологии, а этого у Вас судя по вопросам нет. Что то подобное делалось вот тут: 14771211 , но чем кончилось не знаю. Тем более поддержка kerberos для oracle 10gR1 кривая и опять же требует лицензии. Для более свежих продуктов, поддержка есть и бесплатная, но опять встаёт вопрос скрещивания ужа с ежом. Хотя, вот: авторOk, the problem can be solved by WNA (windows Native Authentication) together with SSO (single sign on). Here is the link useful for those who might have the same problem: Но ссылки уже мертвые. Слишком много утекло воды. Использовать переменные из JavaScript можно, но решение кривое и не безопасное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2016, 17:05:03 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39275691&tid=1887869]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
193ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 521ms |

| 0 / 0 |
