Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Авторизация в APEX / 25 сообщений из 25, страница 1 из 1
17.10.2014, 17:40
    #38780421
smospan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация в APEX
У меня такая проблема: Существует несколько видов авторизации.
1. по таблице - существует отдельная таблица.
2. Авторизация Application Express Accounts - внутренними механизмами Apex
Необходимо выполнить одну точку входа.
Так как я читал что в Apexe в один момент времени, использовать один тип авторизации.
Я решил использовать тип авторизации - Custom
Проверить авторизацию по таблице возможно следующим образом:

function my_authentication (
p_username in varchar2,
p_password in varchar2 )
return boolean
is
acsess_ok boolean;
begin

if auth.authenticate_ldap(p_username,p_password)= true then
acsess_ok :=true;
elsif auth.authenticate_apex (p_username,p_password)= true then
acsess_ok :=true;
else acsess_ok :=false;
end if;
return acsess_ok;
exception
when OTHERS then return false;
end;
Каким оразом добавить проверку авторизацию Application Express Accounts?
Я пробывал вариант.
function my_authentication_test
(
p_username in varchar2,
p_password in varchar2 )
return boolean
is
acsess_ok boolean;
session_id_num number;
var_user_name varchar2(200);
begin
acsess_ok := false;
Select apex_custom_auth.get_session_id_from_cookie into session_id_num from dual; -- Получение сессии

:P101_SESSION_ID:=session_id_num;
apex_custom_auth.set_session_id(p_session_id => session_id_num);
Select apex_custom_auth.get_username into var_user_name from dual; --Получение user name
if apex_authentication.is_authenticated then
acsess_ok :=true;
:P101_RESULT_FUNCTION := 'Да '||:APP_USER||var_user_name;
else
acsess_ok :=false;
:P101_RESULT_FUNCTION := 'Нет '||:APP_USER||var_user_name;
end if;
--acsess_ok :=true;
return acsess_ok;
exception
when OTHERS then return false;
end;
Но столкнулся с проблемой что не могу получить имя usera
Select apex_custom_auth.get_username into var_user_name from dual;
мне возвращает nobody.
Подскажите как решить данную проблему?
...
Рейтинг: 0 / 0
20.10.2014, 10:18
    #38781501
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация в APEX
Ну вообще пока ты не залогинишься, ты еще не юзер и функциия будет возвращать nobody.
Мне кажется вывод напрашивается, а у большинства вопрос и не возникал, username берется из поля :P101_USERNAME.
...
Рейтинг: 0 / 0
20.10.2014, 10:29
    #38781506
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация в APEX
По поводу авторизации, я использую LDAP, если логин не доменного вида, то лезу в табличку.
A в принципе думаю можно и по очереди все типы авторизаций.
...
Рейтинг: 0 / 0
20.10.2014, 11:58
    #38781628
smospan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация в APEX
Я пробывал использовать
apex_authentication.login('smospan', '1');
Данная процедура генерирует ошибку
Application ID and current security group ID are not consistent.
хотя Select
Select APEX_CUSTOM_AUTH.Get_security_group_id from dual;
возвращает данные.
136702600575067390
Я никак не могу получить список шагов которые пользователь проходит при аутидентификации.
Например ввиде процедур и функций.
Мне скоро сдавать эту задачу.
Напишите аожалуйста у кого какие будут идеи. У меня они уже закончились.
Заранее спасибо за ответ.
...
Рейтинг: 0 / 0
20.10.2014, 13:03
    #38781727
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация в APEX
smospanЯ пробывал использовать
apex_authentication.login('smospan', '1');
Данная процедура генерирует ошибку
Application ID and current security group ID are not consistent.

а ты попробуй
apex_authentication.login(upper('smospan'), '1');
...
Рейтинг: 0 / 0
20.10.2014, 13:14
    #38781742
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация в APEX
smospan,

http://docs.oracle.com/cd/E37097_01/doc/doc.42/e35127/apex_authentication.htm#AEAPI29157
А здесь расписаны шаги, при запуске процедуры APEX_AUTHENTICATION.LOGIN ()
...
Рейтинг: 0 / 0
20.10.2014, 15:16
    #38781931
smospan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация в APEX
Попробывал процедуру:
apex_authentication.login('SMOSPAN', '1');

Выводит следующую ошибку:

Notification message checksum content error Contact your application administrator.
Technical Info (only visible for developers)

is_internal_error: true
apex_error_code: APEX.NOTIFICATION_MSG.CHECKSUM_CONTENT_ERROR
error_backtrace:

----- PL/SQL Call Stack -----
object line object
handle number name
0x35280a9b0 548 package body APEX_040200.WWV_FLOW_ERROR
0x35280a9b0 599 package body APEX_040200.WWV_FLOW_ERROR
0x35280a9b0 903 package body APEX_040200.WWV_FLOW_ERROR
0x33dbfa2b8 756 package body APEX_040200.WWV_FLOW_SECURITY
0x357d47428 5757 package body APEX_040200.WWV_FLOW
0x34f59a1e8 249 procedure APEX_040200.F
0x33cd75b48 35 anonymous block

http://docs.oracle.com/cd/E37097_01/doc/doc.42/e35127/apex_authentication.htm#AEAPI29157
написаны общие шаги работы apex_authentication.login.
Можно ли посмотреть код этой функции чтобы понять где происходит ошибка.
Заранее спасибо за ответ.
...
Рейтинг: 0 / 0
23.10.2014, 10:43
    #38785019
smospan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация в APEX
Неужели не у кого не было подобной проблемы? Посоветуйте пожалуйста что делать?
Заранее спасибо.
...
Рейтинг: 0 / 0
23.10.2014, 11:24
    #38785091
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация в APEX
smospan,
зачем кастомная авторизация?
...
Рейтинг: 0 / 0
23.10.2014, 12:40
    #38785226
smospan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация в APEX
Petro123
Кастомная авторизация необходима что бы я мог совместить 3 типа авторизации в одной.
1.Стандартная авторизация APEX Application Express Accounts - внутренними механизмами Apex
2. По отдельной таблице в БД Oracle.
3. LDAP авторизация.
В APEXE может быть текущей, только одна схема авторизации - одного типа.
...
Рейтинг: 0 / 0
23.10.2014, 14:09
    #38785404
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация в APEX
smospan apex_error_code: APEX.NOTIFICATION_MSG.CHECKSUM_CONTENT_ERROR

1. покажите url в этот момент (начиная с f?p=...)

2. проверьте все url в схеме аутентификации и в User Interface Attributes все нормальные, ничего лишнего

3. Создайте любую public страницу, любую кнопку с submit и любой process on submit с не пустым process success message,
и проверьте что по кнопке процесс работает, success message отображается.

Если 2-3 всё ок, полный код процесса еще покажите, пользуйтесь тегами форума SRC PL/SQL
...
Рейтинг: 0 / 0
23.10.2014, 14:48
    #38785508
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация в APEX
smospan,
я спрашивал _зачем_ совмещать?
Т.е. одной из..не хватает?
...
Рейтинг: 0 / 0
23.10.2014, 14:49
    #38785510
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация в APEX
smospan,
Мне казалось я вчера писал ответ в этом посту...
Действительно зачем три презерватива? Апекс в банках начал использоваться, в системе платежей? :)

Я провел эксперимент сделать в кастомной процедуре провести апексовую авторизацию, быстро не вышло. Понял, что не APEX_AUTHENTICATION.LOGIN() нужно использовать. (кстати я ее посмотрел, как и стоило ожидать индокитайский код процедуры вряд ли тебе о чем скажет.)
А вот все остальные типы авторизации ты легко совместишь.
...
Рейтинг: 0 / 0
23.10.2014, 15:05
    #38785555
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация в APEX
smospanЯ пробывал использовать
apex_authentication.login('smospan', '1');
Перечитал тему..

Зря вы используете Application Express Accounts, он не предполагает интеграцию с другими схемами.

Вы её скорее всего не там вызываете, эту процедуру не надо вызывать внутри Authentication Function схемы аутентификации, её надо
дергать в приложении по кнопке login или в sentry function. А Она уже дернет аутентификацию из текущей схемы аутентификации.

Еще гляньте поле COOKIE NAME, укажите один и тот же в 2-х приложениях, аутентификация распространится на оба приложения.

в 5.0 обещают поддержку нескольких схем аутентификаций.
...
Рейтинг: 0 / 0
23.10.2014, 16:02
    #38785699
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация в APEX
SvDevв 5.0 обещают поддержку нескольких схем аутентификаций.
и всё переписать по новой ))
...
Рейтинг: 0 / 0
23.10.2014, 17:08
    #38785834
smospan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация в APEX
Подскажите пожалуйста как мне сделать redirect с одной страницы на другую.
Допустим из процесса.
Заранее спасибо.
...
Рейтинг: 0 / 0
23.10.2014, 17:22
    #38785853
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация в APEX
...
Рейтинг: 0 / 0
23.10.2014, 18:19
    #38785932
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация в APEX
попутный всем вопрос:
- нужно перерисовать всю страничку (много регионов)
- есть DA - refresh
там выбор Region / DOM

Как это сделать:
- редиректом на себя?
- DOM объект? Какой?
...
Рейтинг: 0 / 0
23.10.2014, 19:51
    #38786029
smospan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация в APEX
У меня следующая проблема.
1.Если я использую тип авторизации Application Express Accounts - верно отрабатывают API функции и процедуры APEX.
Но если я добавляю в процесс Login функции проверки по таблице и LDAP, процесс проверяет эти функии, но результат возвращает - как резутат функции apex_authentication.is_authenticated.
Если я использую тип авторизации Custom то верно отрабатывают функции проверки по таблице и LDAP, но не верно отрабатывают API функции и процедуры APEX.
Подскажите возможно есть какое - либо решение.
2.Во blkangel: Вы пишете что - что не APEX_AUTHENTICATION.LOGIN() нужно использовать. (кстати я ее посмотрел, как и стоило ожидать индокитайский код процедуры вряд ли тебе о чем скажет.)
Какую процедуру либо функцию нужно использовать?
Заранее спасибо за ответ.
...
Рейтинг: 0 / 0
24.10.2014, 09:09
    #38786291
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация в APEX
smospanКакую процедуру либо функцию нужно использовать?
Заранее спасибо за ответ.
Если бы знал, написал бы.
я предлагаю в Вашей ситуации просто отказаться от Апексовой авторизации.
...
Рейтинг: 0 / 0
28.10.2014, 12:32
    #38789164
smospan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация в APEX
У меня вопрос по другой теме. Я никак не могу понять. Я так понял, что вне зависимости от типа авторизации,при успешной авторизации АPEX записывает сессию в таблицу сессий.
1.В какую именно таблицу APEX записывает сессию?
2.Где ее можно посмотреть во View V$SESSION или wwv_flow_sessions$?
Если wwv_flow_sessions$ то к сожелению APEX этой view не находит.
Select * from wwv_flow_sessions$
ORA-00942: table or view does not exist
Правильно ли я вызываю эту view wwv_flow_sessions$?
Если V$SESSION, то каким образом мне отобрать сессии которые относятся к АРЕХ - авторизация тип - Application Express Accounts
Я так понимаю что столбец USERNAME = 'APEX_PUBLIC_USER'
3.Какие еще признаки?
Ecли выполнить:
Select APEX_CUSTOM_AUTH.GET_SESSION_ID from dual;
то соответственно выводится значение например 33407055768658
Я не в одном поле V$SESSION не могу найти соответствия с вышеуказанным значением.
4. Как мне четко сопоставить сессии APEX во VIEW V$SESSION
Помогите пожалуйста разобраться.
...
Рейтинг: 0 / 0
28.10.2014, 16:17
    #38789561
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация в APEX
Для начала: всё, что обсуждалось в этой теме, это не авторизация . Это аутентификация . Слова красивые , но смысл разный.

Аутентификация -- это проверка подлинности пользователя системы по предоставляемым им данным, которые позволяют его идентифицировать. Пара имя-пароль, действительный одноразовый или многоразовый ключ, связанный с учётной записью, ещё что-либо.

Авторизация в APEX тоже есть, отвечает за проверку прав пользователя на отображение или выполнение компонента либо доступ ко всему приложению. Авторизация необязательно должна зависеть от учётных данных, это может быть, например, запрет на доступ к некоторым частям приложения в определённое время суток или невозможность отображения справочников при регистрации в системе пользователя-администратора.
...
Рейтинг: 0 / 0
28.10.2014, 17:00
    #38789646
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация в APEX
За встроенную аутентификацию APEX в приложениях отвечает пакет WWV_FLOW_SECURITY. Результат аутентификации определяется по результату вызова WWV_FLOW_SECURITY.authenticate и анализу переменных WWV_FLOW_SECURITY.g_authentication_result, WWV_FLOW_SECURITY.g_custom_authentication_status, чтобы определить ситуацию с истёкшим сроком или первым использованием нового пароля.

Если хочется, можете повторить эту часть в своей функции. А можете написать плагин аутентификации, в котором вызывать WWV_FLOW_AUTHENTICATION_NATIVE.execute_authentication с соответствующими типами встроенной аутентификации (константы этого же пакета с_type_%).
...
Рейтинг: 0 / 0
28.10.2014, 17:02
    #38789652
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация в APEX
Petro123попутный всем вопрос:
smospanУ меня вопрос по другой теме.

Для других и попутных вопросов на форуме есть возможность создавать новые темы.
...
Рейтинг: 0 / 0
29.10.2014, 09:48
    #38790242
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация в APEX
Petro123попутный всем вопрос:
- нужно перерисовать всю страничку (много регионов)
- есть DA - refresh
там выбор Region / DOM

Как это сделать:
- редиректом на себя?
- DOM объект? Какой?
вышло только методом - Action - Submit Page
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Авторизация в APEX / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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