Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / modplsql / 24 сообщений из 24, страница 1 из 1
08.09.2016, 10:02:29
    #39305644
Profeccor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
modplsql
Добрый день!
Разрабатываю сайты с использованием связки 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
08.09.2016, 10:08:30
    #39305649
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
modplsql
ProfeccorЯ так понимаю, что веб сервер не собирает окружение пользователя

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

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

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

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


И получите ответ на вопрос на вопрос:
Где, и под какой учетной записью происходит вызов системной функции: gethostbyaddr чтобы получить доменное имя
(man gethostbyaddr)
...
Рейтинг: 0 / 0
08.09.2016, 13:59:37
    #39305867
Profeccor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
modplsql
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
08.09.2016, 17:38:14
    #39306077
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
modplsql
Profeccor,

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



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

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

p.s. mod_plslql сейчас практически не используется, может проще перейти на apex?
...
Рейтинг: 0 / 0
09.09.2016, 08:49:49
    #39306321
Profeccor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
modplsql
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
09.09.2016, 10:04:07
    #39306376
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
modplsql
ProfeccorМне надо чтобы я получал свое имя из домена и на вызываемой странице.

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

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

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

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


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

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

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

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

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

Но мне нужна доменная аутентификация. Как же мне ее реализовать если я не буду получать их залогинившиеся имена?
Я хочу сам контролировать весь процесс, и прописывать его действия а не отдавать это на откуп сервера. Что я могу сделать?
...
Рейтинг: 0 / 0
09.09.2016, 16:10:08
    #39306721
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
modplsql
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
09.09.2016, 16:10:32
    #39306722
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
modplsql
ProfeccorНо мне нужна доменная аутентификация. Как же мне ее реализовать если я не буду получать их
залогинившиеся имена?

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

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

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


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