|
Зависание при попытке аутентификации через Active Directory
|
|||
---|---|---|---|
#18+
Доброго времени суток Пытаюсь настроить аутентификацию в Active Directory, сначала создала Authentication Scheme, прописала необходимые параметры. Но при введении логина\пароля страница подвисает и через некоторое время выдает сообщение Ошибка 324 (net::ERR_EMPTY_RESPONSE): Сервер разорвал соединение, не отправив данные Попробовала использовать Custom Authentication Scheme и написать свою функцию. Вписала ее в поле Authentication Function Name из формы редактирования Authentication Scheme Текст процедуры: create or replace function my_authentication ( p_username in varchar2, p_password in varchar2 ) return boolean is begin return( apex_040100.wwv_flow_custom_auth_ldap.authenticate('domain\'||lower(p_username), null, p_password, 'server', 389, 'N', 'Y') ); end; Где domain - домен, где ищем пользователя server - адрес сервера AD Но результат тот же. Зависание. В PL\SQL Developer не зависает и работает корректно. При изменении кода этой процедуры, например на простое сравнение логина и пароля с конкретными значениями - работает. При вставке непосредственно процедур dbms_ldap тоже зависает. Не знаю куда копать:( Может быть, кто-то сталкивался или есть мысли по направлению поиска решения. Буду благодарна. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2012, 17:39 |
|
Зависание при попытке аутентификации через Active Directory
|
|||
---|---|---|---|
#18+
acya, 1. Версия базы? Если 11-я ACL настроен? 2. Вы приведите пример без недокументированных функций, apex_ldap или dbms_ldap, так чтобы зависал в APEX и срабатывал в PL/SQL Developer 3. Попробуйте это вызвать не при аутентификации, а, скажем, в процессе на странице ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2012, 15:04 |
|
Зависание при попытке аутентификации через Active Directory
|
|||
---|---|---|---|
#18+
SvDev, База 10-ка, acl вроде там не требуется Пытаюсь использовать такой код сейчас create or replace function my_authentication_dbms(p_username in varchar2, p_password in varchar2) return boolean is v_session dbms_ldap.SESSION; v PLS_INTEGER; begin v_session:=dbms_ldap.init('server',389); v:=dbms_ldap.simple_bind_s(v_session,'dom\'||lower(p_username),p_password); v:=dbms_ldap.unbind_s(v_session); if v=dbms_ldap.SUCCESS then return(true); end if; exception when others then return(false); end; При попытке выполнить как процесс на странице, происходит зависание страницы пр попытке ее запустить. В Pl\SQL Developer отрабатывает корректно, в том числе под anonymous(под ним вызывается в клиенте аутентификация) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2012, 12:22 |
|
Зависание при попытке аутентификации через Active Directory
|
|||
---|---|---|---|
#18+
На странице, где требуется ввод логина\пароля вызывается apex_authentication.login( p_username => :P112_USERNAME, p_password => :P112_PASSWORD ); Я пробовала в функции аутентификации не использовать bind, а просто сравнить логин с текстом - отрабатывает в apex корректно. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2012, 12:25 |
|
Зависание при попытке аутентификации через Active Directory
|
|||
---|---|---|---|
#18+
acya, элементарно, в том же процессе вызываете raise_application_error(-20001, :P112_USERNAME || ' ! ' || :P112_PASSWORD ); сравниваете с теми, которые вы подставляете в PL/SQL Developer ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2012, 12:43 |
|
Зависание при попытке аутентификации через Active Directory
|
|||
---|---|---|---|
#18+
acya, Пока забудем про аутентификацию и разберемся с процессом на странице. Похоже вы просто не можете правильно передать туда логин и пароль. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2012, 12:47 |
|
Зависание при попытке аутентификации через Active Directory
|
|||
---|---|---|---|
#18+
SvDev, Я пробовала убирать из функции аутентификации работу с ldap, прописала туда логирование данных, вводимых в форме. По логам - передается то, что вводили, если Вы об этом. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2012, 10:07 |
|
Зависание при попытке аутентификации через Active Directory
|
|||
---|---|---|---|
#18+
SvDev, Попробовала Ваш код, возвращает в ошибке, что вводила ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2012, 10:10 |
|
Зависание при попытке аутентификации через Active Directory
|
|||
---|---|---|---|
#18+
acya, Еще раз, создайте хранимую процедуру без bind variables совсем, со статически прописанными именем пользователем и паролем и др., потом повторите эксперимент с вызовом в pl/sql Developer'e и в процессе на странице нового приложения... Код у вас рабочий, и в апексе нет ничего такого специфического, чтобы вызывало ошибку. И выведите полный стек ошибок. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2012, 12:24 |
|
Зависание при попытке аутентификации через Active Directory
|
|||
---|---|---|---|
#18+
SvDev, Что Вы подразумевали под полным стеком ошибок? Код процедуры: create or replace function my_authentication ( p_username in varchar2, p_password in varchar2 ) return boolean is begin if lower(p_username)='acya' and p_password='123' then return true; else return false; end if; end; Код, прописанный на странице логина(выполняется после нажатия кнопки "Логин") begin if package.my_authentication(:P112_USERNAME,:P112_PASSWORD) then raise_application_error(-20001,'true'); else raise_application_error(-20001,'false'); end if; end; Все вместе отрабатывает корректно ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2012, 12:57 |
|
Зависание при попытке аутентификации через Active Directory
|
|||
---|---|---|---|
#18+
acya, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Выполняете Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
в 1. PL/SQL Developer 2. В апекс новом приложении в каком-нибудь процессе Выводите сюда Technical Info и сообщение об ошибке полностью, которые отобразятся ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2012, 14:16 |
|
Зависание при попытке аутентификации через Active Directory
|
|||
---|---|---|---|
#18+
SvDev, В PL\SQL Developer всегда(даже при существующей учетной записи), кроме пустого пароля: ORA-31202: DBMS_LDAP: LDAP client/server error: Invalid credentials. 80090308: LdapErr: DSID-0C090334, comment: AcceptSecurityContext error, data 525, vece ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86 ORA-06512: at "SYS.DBMS_LDAP", line 1455 ORA-06512: at "SYS.DBMS_LDAP", line 79 ORA-06512: at "PACKAGE.MY_AUTH", line 8 ORA-06512: at line 4 В apex(код выполняется по кнопке), браузер долго думает, а потом выдает. В любом случае. Ошибка 324 (net::ERR_EMPTY_RESPONSE): Сервер разорвал соединение, не отправив данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2012, 15:00 |
|
Зависание при попытке аутентификации через Active Directory
|
|||
---|---|---|---|
#18+
acya, Ранее acyaВ PL\SQL Developer не зависает и работает корректно Подставьте те значения, которые у вас отрабатывали в первом примере, только статикой acyaОшибка 324 (net::ERR_EMPTY_RESPONSE): Сервер разорвал соединение, не отправив данные. Если вы под разработчиком и приложение новое, процесс, скажем, On Load - Before Header, тогда на странице выведется нормальная ora-ошибка, ниже будет ссылка Technical Info ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2012, 15:48 |
|
Зависание при попытке аутентификации через Active Directory
|
|||
---|---|---|---|
#18+
acyaОшибка 324 (net::ERR_EMPTY_RESPONSE): Сервер разорвал соединение, не отправив данные. Я понял, это у вас ошибка браузера, обычно возникает 404, тогда смотрите в лог, какая ошибка, в зависимости от сценария установки http://www.inside-oracle-apex.com/oracle-apex-got-404-not-found-2/ ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2012, 16:07 |
|
Зависание при попытке аутентификации через Active Directory
|
|||
---|---|---|---|
#18+
SvDev, Включила дебаг в логировании для Embedded PL/SQL Gateway В трейсах из ошибок только это ksedmp: internal or fatal error ORA-07445: exception encountered: core dump [ACCESS_VIOLATION] [unable_to_trans_pc] [PC:0x5CDDE95] [ADDR:0x39E96A50] [UNABLE_TO_READ] [] ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2012, 15:31 |
|
Зависание при попытке аутентификации через Active Directory
|
|||
---|---|---|---|
#18+
SvDev, зависание происходит в независимости от вида браузера ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2012, 15:32 |
|
Зависание при попытке аутентификации через Active Directory
|
|||
---|---|---|---|
#18+
acyaВ трейсах из ошибок только это т.е. под sys выполняли Код: plsql 1.
и на экран ошибка все равно не выводится? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2012, 16:08 |
|
Зависание при попытке аутентификации через Active Directory
|
|||
---|---|---|---|
#18+
SvDev, вот так я проставляла уровень execute dbms_epg.set_global_attribute('log-level',dbms_epg.LOG_DEBUG); ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2012, 16:23 |
|
Зависание при попытке аутентификации через Active Directory
|
|||
---|---|---|---|
#18+
SvDev, На экране не было оракловых сообщений ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2012, 16:26 |
|
Зависание при попытке аутентификации через Active Directory
|
|||
---|---|---|---|
#18+
acyadbms_epg.LOG_DEBUG Поставьте уровень dbms_epg.LOG_ERR Про EPG тут подробно http://daust.blogspot.co.uk/2008/04/troubleshooting-404-not-found-error-on.html ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2012, 16:39 |
|
Зависание при попытке аутентификации через Active Directory
|
|||
---|---|---|---|
#18+
SvDev, получаю аналогичный трейс ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2012, 16:49 |
|
Зависание при попытке аутентификации через Active Directory
|
|||
---|---|---|---|
#18+
Еще вариант, перед выполнением процесса в Developer Toolbar нажать кнопку Debug, далее назад в браузере и view debug, последний запрос ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2012, 16:52 |
|
Зависание при попытке аутентификации через Active Directory
|
|||
---|---|---|---|
#18+
SvDev, А может это быть связано с режимом shared servers ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2012, 17:47 |
|
Зависание при попытке аутентификации через Active Directory
|
|||
---|---|---|---|
#18+
acya, Это могут быть некорректные установки system/NLS параметров, ora-...unable to allocate... и т.д., т.е. ошибки не связанные с апекс. Дебаг что выводит? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2012, 18:21 |
|
Зависание при попытке аутентификации через Active Directory
|
|||
---|---|---|---|
#18+
SvDev, А какую именно информацию нужно из Debug? Там есть роспись по стадиям, что делалось Debug - > ViewIdentifire(последний выполненный) и есть вкладка Errors, но там пусто В дебаге такая информация по NLS NLS: Language=en metadata, fetch translated app info alter session set nls_language="AMERICAN" alter session set nls_territory="AMERICA" NLS: CSV charset=WE8MSWIN1252 NLS: Set Decimal separator="." NLS: Set NLS Group separator="," NLS: Set g_nls_date_format="DD-MON-RR" Set g_nls_timestamp_format="DD-MON-RR HH.MI.SSXFF AM" Set g_nls_timestamp_tz_format="DD-MON-RR HH.MI.SSXFF AM TZR" NLS_DATE_FORMAT to application date format: DS NLS_TIMESTAMP_FORMAT to application timestamp format: DS NLS_TIMESTAMP_TZ_FORMAT to application timestamp time zone format: DS NLS Set g_nls_date_format="DS" NLS Set g_nls_timestamp_format="DS" NLS: Set g_nls_timestamp_tz_format="DS" ... SESSION Language (nobody): wwv_flow.g_browser_language=en maplang=en ...NLS: Set g_nls_date_format="DS" ...NLS: Set g_nls_timestamp_format="DS" ...NLS: Set g_nls_timestamp_tz_format="DS" NLS: Language=en Setting NLS_DATE_FORMAT to application date format: DS Setting NLS_TIMESTAMP_FORMAT to application timestamp format: DS Setting NLS_TIMESTAMP_TZ_FORMAT to application timestamp time zone format: DS ...NLS: Set g_nls_date_format="DS" ...NLS: Set g_nls_timestamp_format="DS" ...NLS: Set g_nls_timestamp_tz_format="DS" ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2012, 12:48 |
|
|
start [/forum/topic.php?fid=50&fpage=56&tid=1875954]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 165ms |
0 / 0 |