powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / modplsql
24 сообщений из 24, страница 1 из 1
modplsql
    #39305644
Profeccor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Разрабатываю сайты с использованием связки Apache HTTP Server, version 1.3.28 + modplsql + Oracle Database 10g Enterprise Edition Release 10.1.0.5.0 - 64bi.

Все работает замечательно и как мне нужно, но есть одна проблема.

sys_context('userenv','os_user') выдает мне разные результаты

Если я выполняю запрос через SQL Developer 4.1.3 то получаю свое доменное имя в сети через которое я залогинился на компьютер. Замечательно _ это то, что мне нужно.
Но если я вставляю этот запрос в процедуру то получаю Oracle.
Я так понимаю, что веб сервер не собирает окружение пользователя, т.к. я не силен в этом деле и сам не устанавливал ничего из выше перечисленного я прошу немного мне подсказать.


P.s. я немного покопался в интернете и нашел AuthType Kerberos, но устанавливать целый модуль для получения одного параметра мне кажется не очень рациональным.
...
Рейтинг: 0 / 0
modplsql
    #39305649
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProfeccorЯ так понимаю, что веб сервер не собирает окружение пользователя

Это демон и он работает в своём собственном окружении, под своим собственным пользователем.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
modplsql
    #39305655
Profeccor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как демон? Не могли бы пояснить?
...
Рейтинг: 0 / 0
modplsql
    #39305664
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProfeccorКак демон? Не могли бы пояснить?
Демон (программа)
...
Рейтинг: 0 / 0
modplsql
    #39305672
Profeccor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vadim Lejnin,

Но почему этот демон знает ip адресс а доменное имя не знает?
и какое мне предпринять действие чтобы узнал?
...
Рейтинг: 0 / 0
modplsql
    #39305754
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Profeccor,
В вашем исходном посте, ничего не сказано про
авторНо почему этот демон знает ip адресс а доменное имя не знает?
и какое мне предпринять действие чтобы узнал?

Ответ на этот вопрос зависит от того как настроена система где работает демон
Демон не придумывает ответ, он просто вызывает функцию клиента, которая в свою очередь
вызывает для информации функцию ос

распишите как происходит обработка выборки
Код: plsql
1.
sys_context('userenv','os_user')


И получите ответ на вопрос на вопрос:
Где, и под какой учетной записью происходит вызов системной функции: gethostbyaddr чтобы получить доменное имя
(man gethostbyaddr)
...
Рейтинг: 0 / 0
modplsql
    #39305867
Profeccor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vadim Lejnin,

На сколько я понимаю вызов функции gethostbyaddr должно происходить под учетной записью пользователя открывающего страничку которую генерит веб сервис Апач. На текущий момент я могу получить его ип адресс и имя машины, но доменное имя пользователя который лезет ко мне на сайт он мне давать на отрез не хочет. Может надо изменить PlsqlAuthenticationMode Basic на


Global OWA

Authentication is performed using the owa_custom.authorize procedure in the schema containing the PL/SQL Web Toolkit packages.


Custom OWA

Authentication is performed using packages and procedures in the user's schema (owa_customize.authorize), or if not found, in the schema containing the PL/SQL Web Toolkit packages.


PerPackage

Authentication is performed using packages and procedures in the user's schema (packageName.authorize).


Single Sign-On

Authentication is performed using Oracle Application Server Single Sign-On. Use this mode only if your application works with OracleAS Single Sign-On.

Подскажите какие действия необходимо предпринять ?
...
Рейтинг: 0 / 0
modplsql
    #39306077
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Profeccor,

Код: plsql
1.
На сколько я понимаю вызов функции gethostbyaddr должно происходить под учетной записью пользователя открывающего страничку которую генерит веб сервис Апач. На текущий момент я могу получить его ип адресс и имя машины, но доменное имя пользователя который лезет ко мне на сайт он мне давать на отрез не хочет. Может надо изменить PlsqlAuthenticationMode Basic на



Вы вызываете sys_context('userenv','os_user')
Это функция получает информацию от стандартных библиотек oracle клиента, который ничего не знает о web технологиях.
Если Вам нужна информация о web сессии apache, Вам нужно пользоваться функциями mod_plsql,
которые попытаются получить эту информацию из той информации, которая доступна серверу apache.
...
Рейтинг: 0 / 0
modplsql
    #39306082
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Profeccor,

По вашим сообщениям, не понятно что Вам нужно, и что Вы хотите получить.
Чтобы разговор стал более предметным:
1) Расскажите что именно Вам нужно получить и для чего (по пунктам)
2) Опишите кратко Вашу систему (версии ОС. ПО)
3) Покажите как Вы это реализовали, и что именно получили в ответ

p.s. mod_plslql сейчас практически не используется, может проще перейти на apex?
...
Рейтинг: 0 / 0
modplsql
    #39306321
Profeccor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vadim Lejnin,

Хорошо разжую. У меня есть простая до безобразия процедура
Код: plsql
1.
2.
3.
4.
5.
6.
7.
create or replace PROCEDURE     OS_USER
as
begin   

htp.print(' os_user: '||SYS_CONTEXT('USERENV', 'OS_USER'));

end;



Когда я вызываю ее http://site.ru:7777/shema/OS_USER то получаю os_user: oracle

если же я отрабатываю SYS_CONTEXT('USERENV', 'OS_USER') в отладчике через толстый клиент на своем компьютере то я получаю свое имя из домена.
Мне надо чтобы я получал свое имя из домена и на вызываемой странице.

я могу реализовать это и по другому через Activex но это неправильно.
Код: javascript
1.
2.
3.
4.
<script>
  var objUserInfo = new ActiveXObject("WScript.network");
  document.write(objUserInfo.UserName);
</script>
...
Рейтинг: 0 / 0
modplsql
    #39306376
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProfeccorМне надо чтобы я получал свое имя из домена и на вызываемой странице.

Чтобы получить имя из домена на странице - надо передать его серверу из страницы. Другого
пути - нет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
modplsql
    #39306378
Profeccor,

Закончи уже какую-нибудь веб-школу, где тебе на трех пальцах покажут, что такое трехзвенка. Потом сходи на курсы, где тебе объяснят, как правильно задавать вопросы.
...
Рейтинг: 0 / 0
modplsql
    #39306398
Profeccor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
какие действия мне необходимо выполнить чтобы сервер стал получать имя из домена? что мне надо изменить прикрутить или допилить ?
...
Рейтинг: 0 / 0
modplsql
    #39306453
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Profeccorкакие действия мне необходимо выполнить чтобы сервер стал получать имя из домена? что мне надо изменить прикрутить или допилить ?

В огороде бузина, в Киеве дядька

Пример приводишь для username, а спрашиваешь про домен


Какой сервер и из какого домена?
Есть по крайней мере 2 сервера: Сервер БД, Сервер Apache
И три возможных домена: Домена рабочей станции пользователя, домена apache, домена сервера СУБД

Даже если в Вашем случае они одинаковы, для их получения нужны разные фукнции
...
Рейтинг: 0 / 0
modplsql
    #39306456
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотри функции пакетов OWA_*
Database PL/SQL Packages and Types Reference
...
Рейтинг: 0 / 0
modplsql
    #39306462
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Profeccorкакие действия мне необходимо выполнить чтобы сервер стал получать имя из домена?

Научиться программировать на ява-скрипте.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
modplsql
    #39306646
Profeccor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vadim Lejnin,

Все пользователи включены в домен и естественно логины их там лежат. Когда они входят на компьютеры они их и вводят и конечно их имя я хочу получить чтобы понимать кто ко мне на сайт зашел. Единственное что у меня не получается это взять их имя на html страничке, я не знаю уже что и делать ...

Можно конечно активх подписать попробовать.
...
Рейтинг: 0 / 0
modplsql
    #39306692
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Profeccorне получается это взять их имя на html страничкеИ это правильно. Браузеры где только не ходят...
...
Рейтинг: 0 / 0
modplsql
    #39306699
Profeccor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-2-,

Но мне нужна доменная аутентификация. Как же мне ее реализовать если я не буду получать их залогинившиеся имена?
Я хочу сам контролировать весь процесс, и прописывать его действия а не отдавать это на откуп сервера. Что я могу сделать?
...
Рейтинг: 0 / 0
modplsql
    #39306721
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProfeccorVadim Lejnin,

Все пользователи включены в домен и естественно логины их там лежат. Когда они входят на компьютеры они их и вводят и конечно их имя я хочу получить чтобы понимать кто ко мне на сайт зашел. Единственное что у меня не получается это взять их имя на html страничке, я не знаю уже что и делать ...

Можно конечно активх подписать попробовать.
доменное имя - Это не ip имя домена узла, а учётная запись в MS AD?
Очень невнятно отвечаешь!

прочитай вопросы которые тебе задали:
19646346
Еще раз прочитай свой ответ

Информация о текущем OS userid сессии есть у brouser, но не факт что он тебе его разрешит прочитать.

Вот например получение через javaScript :

авторI saw this javascript posted here sometime back (have not tried it myself), but it's suppose to retrieve the Windows username.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
scriptfunction getWindowsUserid()
{
try
{ var WshNetwork = new ActiveXObject("WScript.Network");
return WshNetwork.UserName; }
catch (e)
{return null;}
}
/script 




Полученное значение при помощи JavaScript, можешь использовать при вызове своей процедуры как параметр

Короче,
смарт-квестProfeccor,

Закончи уже какую-нибудь веб-школу, где тебе на трех пальцах покажут, что такое трехзвенка. Потом сходи на курсы, где тебе объяснят, Как правильно задавать вопросы .
...
Рейтинг: 0 / 0
modplsql
    #39306722
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProfeccorНо мне нужна доменная аутентификация. Как же мне ее реализовать если я не буду получать их
залогинившиеся имена?

С помощью NTLM аутентификации. В отличии от Basic, для неё не надо получать имена.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
modplsql
    #39306728
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovС помощью NTLM аутентификации.
А точнее - как-то так:
https://wiki.samba.org/index.php/Authenticating_Apache_against_Active_Directory
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
modplsql
    #39307377
Profeccor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vadim Lejnin,

Вы меня прекрасно поняли, да именно то что мне нужно, но как это сделать чтобы браузер разрешил?
...
Рейтинг: 0 / 0
modplsql
    #39307416
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProfeccorVadim Lejnin,

Вы меня прекрасно поняли, да именно то что мне нужно, но как это сделать чтобы браузер разрешил?
Это относится к технологиям WEB
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / modplsql
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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