powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Как из APEX получить имя пользователя ОС Windows?
18 сообщений из 43, страница 2 из 2
Как из APEX получить имя пользователя ОС Windows?
    #38977206
Sah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Sah,
Не вижу кода
l_username := APEX_CUSTOM_AUTH.get_username;

Не совсем понял, что ты имел в виду.
Код: plsql
1.
APEX_CUSTOM_AUTH.get_username

- это стандартная функция Апекса из пакета APEX_CUSTOM_AUTH
APEX_CUSTOM_AUTH.get_username

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

Потом этот пользователь регистрируется в сессии.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
   -- user is an apex user and logged in
   IF     APEX_APPLICATION.g_user IS NOT NULL
      AND UPPER (APEX_APPLICATION.g_user) != 'NOBODY'
   THEN
      APEX_CUSTOM_AUTH.set_session_id_to_next_value;

      APEX_CUSTOM_AUTH.define_user_session (
         p_user         => APEX_APPLICATION.g_user,
         p_session_id   => APEX_APPLICATION.g_instance);

      APEX_CUSTOM_AUTH.post_login (
         p_uname        => APEX_APPLICATION.g_user,
         p_session_id   => APEX_APPLICATION.g_instance,
         p_app_page     =>    APEX_APPLICATION.g_flow_id
                           || ':'
                           || NVL (APEX_APPLICATION.g_flow_step_id, 1));
      RETURN TRUE;
   END IF;
...
Рейтинг: 0 / 0
Как из APEX получить имя пользователя ОС Windows?
    #38977219
Sah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Трудяга БиггерSahпропущено...

Спасибо, не слышал про этот проект.
А как к АПЕКСУ его прикрутить, чтобы в приложении получить :APP_USER?
если у Вас апач+линукс, то попробуйте модуль mod_auth_kerb, ссылка в есть выше. этот путь проще.
если все же хочется ords+tomcat, то для начала попробуйте их заинсталлить и настроить. доки есть в сети.
а как прикрутить spnego могу рассказать, Вы для начала определитесь с сервером приложений.

Покажу нашему админу. Посмотрим, что будет легче внедрить. Пока спасибо.
...
Рейтинг: 0 / 0
Как из APEX получить имя пользователя ОС Windows?
    #38977262
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SahНе совсем понял, что ты имел в виду.
Мне непонятны были 2 момента:
- если ты искал лишний символ, то покажи в какой строке и кода он появился.
- какая цель данной авторизации с кучей кода? Чем не подходит метод с хранением логина в куках?
Этот метод вроде решает проблему аффтара топика.
Т.е. какой кейс использования LDAP в паре с APEX.
Это на сиквеле MS можно войти в БД при входе в операционку по виндовой авторизации.
...
Рейтинг: 0 / 0
Как из APEX получить имя пользователя ОС Windows?
    #38977320
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Тема больше про NTLM и подобными, чем про LDAP. См. заголовок темы.
...
Рейтинг: 0 / 0
Как из APEX получить имя пользователя ОС Windows?
    #38977327
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Тот код касается NTLM, а не LDAP
...
Рейтинг: 0 / 0
Как из APEX получить имя пользователя ОС Windows?
    #38977346
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvDevPetro123,
Тот код касается NTLM, а не LDAP
какая разница если они друг без друга не работают и не имеют смысла.
Эта тему нужна одному человеку раз в год.
Вот мне и непонятно, что такое строят авторы темы на APEX?
))
Если ввобще автоматом входить по машине-хосту, то накуя.
Если брать роли из LDAP, то другое.
Если .....
Короче IMHO имхо геморрой)))
...
Рейтинг: 0 / 0
Как из APEX получить имя пользователя ОС Windows?
    #38977361
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123какая разница
Они работают друг без друга и имеют каждый разный смысл.
Вопрос вполне актуальный в корпоративной среде.
...
Рейтинг: 0 / 0
Как из APEX получить имя пользователя ОС Windows?
    #38977401
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvDev,
ок
ты сказал да, я сказал нет - расписали.
...
Рейтинг: 0 / 0
Как из APEX получить имя пользователя ОС Windows?
    #38977513
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пруф есть в теме, в ссылках здесь есть простая simple bind LDAP аутентификация без NTLM. Во второй используется NTLM. В общем-то достаточно.

+до кучи см примеры и код ntlm_util_pkg на pl/sql, там кстати нет обращений к dmbs_ldap.simple_bind_s

Тут разница описана:

https://abhijitw.wordpress.com/2011/08/13/kerbose-ntlm-and-ldap-difference/ NTLM: Authentication is the well-known and loved challenge-response authentication mechanism, using NTLM means that you really have no special configuration issues. As Microsoft likes to say, “It just works.”

LDAP: It is primarily a directory access protocol. They do different things. LDAP has a primitive authentication mechanism called “simple bind” that applications can use to verify credentials if they can’t handle other authentication protocols. It gets tricky because LDAP also includes an extensible authentication framework called SASL that allows alternate authentication protocols to be added.

А по поводу актуальности, в больших конторах, где есть множество систем в том числе из под разных СУБД, закрытых и т.д, большие дяди иногда хотят их интегрировать, это определенный этап информатизации контор, +желание не вводить пароль лишний раз не редкость. Особенно, если придёт вдруг начальник, кто в таких системах поработал, это вопрос скорее везения.

P.S.
Petro123ты сказал да, я сказал нет - расписали.
Учитывая, что ты часто пишешь в темы не разбираясь в проблеме, вполне достаточно, чтобы кому надо сделать правильный вывод
...
Рейтинг: 0 / 0
Как из APEX получить имя пользователя ОС Windows?
    #38977646
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvDev,
"Для того чтобы судить о качестве приготовленной яичницы, необязательно уметь нести яйца"))
Ты же не будешь отрицать, что APEX не очень подходит для REST или веб\сокет-сервис разработки?
Для этого есть другие, более удобные средства.
Но почему-то, вдруг решил, что на APEX удобно делать SSO.
...
- В первой ссылке ты привёл текст о том, что "UTL_HTTP \ APEX" не поддерживает NTLM аутентификацию.
Но есть какие-то доморощенные наколеночные поделки.
Вероятно для безопасности в больших конторах.
- Во второй ссылке ты как раз и привёл пример такой поделки-примочки.
..
По поводу актуальности, если начальник пришёл не с понижением, то он легко найдёт решения на Java бесплатные. Или платные сертифицированные, но не на PL\SQL.
..
Так что, не надо тут туману и важности напускать, на данную "важную" тему).
Её важность, как мобильные темы, карты и веб-сервисы в APEX.
Но это IMHO конечно))
PS
Ты правда подумал сразу про NTLM, прочтя первый пост этого прошлогоднего топика?
...
Рейтинг: 0 / 0
Как из APEX получить имя пользователя ОС Windows?
    #38977665
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123- В первой ссылке
я привёл ссылки, только чтобы подтвердить своё заявление, что NTLM и обсуждаемая LDAP аутентификация разные вещи

Petro123По поводу актуальности, если начальник пришёл не с понижением, то он легко найдёт решения на Java бесплатные. Или платные сертифицированные, но не на PL\SQL.
Ты не понял, задача интеграционного типа, нужно получить результат на apex.
А по-поводу нет поддрежки, а зачем компании Oracle поддерживать Microsoft какой-то там поддержкой ? Они друг с другом конкурируют как бы.

Petro123Ты правда подумал сразу про NTLM, прочтя первый пост этого прошлогоднего топика?
Сразу подумал и еще в прошлом году написал про NTLM, как вариант.
...
Рейтинг: 0 / 0
Как из APEX получить имя пользователя ОС Windows?
    #38977699
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvDevСразу подумал и еще в прошлом году написал про NTLM, как вариант.
странно.
- разные или нет лень спорить
- Интеграция это SSO - между приложениями\доменами\...
У него в посте просто обычный повторный вход.
авторлогиниться по-новой
Т.е. куки или подстановка в ослике\фоксе))
...
Рейтинг: 0 / 0
Как из APEX получить имя пользователя ОС Windows?
    #38977708
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Нет, тебе лень читать, я достаточно материала привёл.
Куки это не то совсем, ну не хочет начальство вообще вводить пароль в апекс, особенно то, которое знает, что это возможно.
...
Рейтинг: 0 / 0
Как из APEX получить имя пользователя ОС Windows?
    #38977714
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvDev,
OK ))))
Да пусть у нас будет начальство, которое не тащит в APEX всё что он где-то видел))). LOL
______________________________________________
"Сложнее всего в мире достигнуть простоты — это крайняя граница опыта и последнее усилие гения". © George Sand.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как из APEX получить имя пользователя ОС Windows?
    #39478048
samorokovskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Камрады, здравствуйте!
Получилось так, что жизнь потребовала запилить на APEXe приложение, поддерживающее прозрачную NTLM-аутентификацию, не из какой-либо другой ИС. а прямо из Win, т.е. чтобы доменный юзверь, раз залогинившийся в винде просто запустил в браузере APEX-приложение и оно знало кто этот юзверь.
APEX у меня 5.1.1., живет в Oracle 11.2.0.4 на Oracle Linux 7.3, используется Embedded PL/SQL Gateway.
Вроде в 5.1.1 есть тип схем аутентификации, поддерживающий SSO, там требуется указать родительское приложение, из которого наследуется аутентификация. Пока не понимаю, о каком приложении идет речь? О приложении APEX?
Друзья, сильно не пинайте, пока третий день читаю доки (на уровне "английский со словарем c google") и форумы, голова идет кругом от множества комбинаций и вариантов. Если не сложно, пните в нужном направлении и скжите, в общем, есть ли шанс запустить это в варианте EPG или нужно через сторонний вебсервер с использованием mod_plsql?
...
Рейтинг: 0 / 0
Как из APEX получить имя пользователя ОС Windows?
    #39478186
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
samorokovskiy,
ORDS пока поставьте. Пока ответа ждете.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как из APEX получить имя пользователя ОС Windows?
    #39679818
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В APEX передаём CGI переменную REMOTE_USER. Если в APEX ещё не открыта сессия, кастомный модуль APEX приложения авторизует REMOTE_USER и создаёт сессию.

Переменную REMOTE_USER создаёт модуль аутентификации Apache. Чтобы не привязываться к IE для Windows Integrated аутентификации я использовал модуль для Kerberos аутентификации mod_auth_kerb. В браузерах нужно включить Windows Integrated аутентификации для сетевых доменов Intranet. Для IE и Хром, это делается политикой домена Windows. В Fire Fox для применения политики нужен плагин, или настраивать вручную.

Ситуация существенно осложнялась тем, что не все пользователи сидят в домене Windows и имеют билет Kerberos. Модуль я допилил, чтобы кроме Kerberos поддержать авторизацию с куки. В Apache сделать стек из модулей аутентификации не удалось.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как из APEX получить имя пользователя ОС Windows?
    #39946800
Памела
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenab


Ситуация существенно осложнялась тем, что не все пользователи сидят в домене Windows и имеют билет Kerberos. Модуль я допилил, чтобы кроме Kerberos поддержать авторизацию с куки. В Apache сделать стек из модулей аутентификации не удалось.


Можно глянуть код этого модуля?
...
Рейтинг: 0 / 0
18 сообщений из 43, страница 2 из 2
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Как из APEX получить имя пользователя ОС Windows?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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