| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Религиозные войны > Аутидентификация APEX Oracle |
| Автор: smospan 23.10.2014, 10:17 |
| У меня такая проблема: Существует несколько видов авторизации. 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. Подскажите как решить данную проблему? Заранее спасибо. |
| Автор: Addidas 7.12.2014, 22:10 |
| COOKIE |