powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Зависание при попытке аутентификации через Active Directory
36 сообщений из 36, показаны все 2 страниц
Зависание при попытке аутентификации через Active Directory
    #37985805
acya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток

Пытаюсь настроить аутентификацию в 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 тоже зависает.

Не знаю куда копать:(

Может быть, кто-то сталкивался или есть мысли по направлению поиска решения.


Буду благодарна.
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #37991827
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
acya,

1. Версия базы? Если 11-я ACL настроен?

2. Вы приведите пример без недокументированных функций, apex_ldap или dbms_ldap,
так чтобы зависал в APEX и срабатывал в PL/SQL Developer

3. Попробуйте это вызвать не при аутентификации, а, скажем, в процессе на странице
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #37993443
acya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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(под ним вызывается в клиенте аутентификация)
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #37993448
acya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На странице, где требуется ввод логина\пароля вызывается
apex_authentication.login(
p_username => :P112_USERNAME,
p_password => :P112_PASSWORD );

Я пробовала в функции аутентификации не использовать bind, а просто сравнить логин с текстом - отрабатывает в apex корректно.
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #37993493
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
acya,

элементарно, в том же процессе вызываете

raise_application_error(-20001, :P112_USERNAME || ' ! ' || :P112_PASSWORD );

сравниваете с теми, которые вы подставляете в PL/SQL Developer
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #37993507
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
acya,

Пока забудем про аутентификацию и разберемся с процессом на странице. Похоже вы просто не можете правильно передать туда логин и пароль.
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #37998039
acya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev,

Я пробовала убирать из функции аутентификации работу с ldap, прописала туда логирование данных, вводимых в форме.
По логам - передается то, что вводили, если Вы об этом.
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #37998045
acya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev,

Попробовала Ваш код, возвращает в ошибке, что вводила
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #37998302
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
acya,

Еще раз, создайте хранимую процедуру без bind variables совсем, со статически прописанными именем пользователем и паролем и др., потом повторите эксперимент с вызовом в pl/sql Developer'e и в процессе на странице нового приложения... Код у вас рабочий, и в апексе нет ничего такого специфического, чтобы вызывало ошибку.

И выведите полный стек ошибок.
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #37998406
acya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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;


Все вместе отрабатывает корректно
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #37998639
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
acya,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
create or replace function my_authentication_dbms 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,'username','123456');
 
 v:=dbms_ldap.unbind_s(v_session);

  if v=dbms_ldap.SUCCESS then
     return(true);
       end if;

/* exception when others then ! */
 return(false); 

  end;



Выполняете

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
begin

if package.my_authentication_dbms then

  null;
else
  null;
end if;

end;



в
1. PL/SQL Developer
2. В апекс новом приложении в каком-нибудь процессе

Выводите сюда Technical Info и сообщение об ошибке полностью, которые отобразятся
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #37998746
acya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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): Сервер разорвал соединение, не отправив данные.
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #37998837
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
acya,

Ранее
acyaВ PL\SQL Developer не зависает и работает корректно
Подставьте те значения, которые у вас отрабатывали в первом примере, только статикой

acyaОшибка 324 (net::ERR_EMPTY_RESPONSE): Сервер разорвал соединение, не отправив данные.
Если вы под разработчиком и приложение новое, процесс, скажем, On Load - Before Header, тогда на странице выведется нормальная ora-ошибка, ниже будет ссылка Technical Info
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #37998878
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
acyaОшибка 324 (net::ERR_EMPTY_RESPONSE): Сервер разорвал соединение, не отправив данные.
Я понял, это у вас ошибка браузера, обычно возникает 404, тогда смотрите в лог, какая ошибка, в зависимости от сценария установки

http://www.inside-oracle-apex.com/oracle-apex-got-404-not-found-2/
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #38000640
acya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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] []
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #38000645
acya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev,

зависание происходит в независимости от вида браузера
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #38000745
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
acyaВ трейсах из ошибок только это
т.е. под sys выполняли
Код: plsql
1.
exec dbms_epg.set_dad_attribute('APEX', 'error-style', 'DebugStyle');


и на экран ошибка все равно не выводится?
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #38000781
acya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev,

вот так я проставляла уровень

execute dbms_epg.set_global_attribute('log-level',dbms_epg.LOG_DEBUG);
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #38000788
acya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev,

На экране не было оракловых сообщений
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #38000814
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
acyadbms_epg.LOG_DEBUG
Поставьте уровень dbms_epg.LOG_ERR
Про EPG тут подробно http://daust.blogspot.co.uk/2008/04/troubleshooting-404-not-found-error-on.html
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #38000842
acya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev,

получаю аналогичный трейс
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #38000847
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще вариант, перед выполнением процесса в Developer Toolbar нажать кнопку Debug, далее назад в браузере и view debug, последний запрос
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #38000985
acya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev,

А может это быть связано с режимом shared servers ?
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #38001068
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
acya,

Это могут быть некорректные установки system/NLS параметров, ora-...unable to allocate... и т.д., т.е. ошибки не связанные с апекс.

Дебаг что выводит?
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #38002196
acya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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"
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #38002287
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
acya,

Там должна быть строка, которая соответствует выполненнему процессу с последующей детализацией, например:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
0.20300	0.00000	...Process "zsgzsgzsg" - Type: PLSQL	4	
	0.20300	0.07900	...Execute Statement: begin ... end;	4	
	0.28200	0.00000	Add error onto error stack	4	
	0.28200	0.00000	...Error data:	4	
	0.28200	0.00000	......message: ORA-31202: DBMS_LDAP: LDAP client/server error: ...	4	
	0.28200	0.01500	......additional_info: ORA-31202: DBMS_LDAP: LDAP client/server error: ...	4	
	0.29700	0.00000	......display_location: ON_ERROR_PAGE	4	
	0.29700	0.01600	......is_internal_error: false	4	
	0.31300	0.00000	......ora_sqlcode: -31202	4	
	0.31300	0.00000	......ora_sqlerrm: ORA-31202: DBMS_LDAP: LDAP client/server error: ...	4	
	0.31300	0.00000	......error_backtrace: ORA-06512: at "SYS.WWV_DBMS_SQL", line 904 ORA-06512: at "APEX_040100.WWV_FLOW_DYNAMIC_EXEC", line 618 ORA-06512: at "APEX_040100.WWV_FLOW_PROCESS", line 128 	4	
	0.31300	0.00000	......component.type: APEX_APPLICATION_PAGE_PROCESS	4	
	0.31300	0.00000	......component.id: 5364306107725178	4	
	0.31300	0.00000	......component.name: zsgzsgzsg	4	
	0.31300	0.00000	...Show Error on Error Page	4	
	0.31300	0.06200	......Performing rollback

Если процесс onSubmit может быть и не последний...

+ вы так и не ответили, 13321209 чтобы не лезть в дебри зря...
Если подставить правильные значения, в PL/SQL Developer-е выполняется без ошибок, в апексе такое же зависание с ошибкой, правильно я понимаю?
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #38002366
acya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev,

Описываю все шаги:
1. Создаю схему аутентификации в APEX, в поле Authentication Function Name пишу package.my_authentication_dbms
2. Функция выглядит след. образом
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
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,
                            'domain\'||lower(p_username),
                                       p_password);
 
 v:=dbms_ldap.unbind_s(v_session);

  if v=dbms_ldap.SUCCESS then   return(true);
       else    return(false);     end if;

 exception when others then
 return(false);
  end;



3. Выдаю права grant execute on package.my_authentication_dbms to anonymous;(под anonymous она и вызывается)
4. Делаю схему текущей
5. Запускаю приложение, ввожу существующую учетку - зависание

Варианты:
1.
Код: plsql
1.
v:=dbms_ldap.simple_bind_s(v_session, 'domain\'||'user_login', 'user_password');

Т.е. просто строки - зависание
2. Если убрать работу с пакетом dbms_ldap вообще - работает, в приложение пускает
3. Если написать этот код(с dbms_ldap) в теле процесса, который вызывался бы на странице получаем аналогичное зависание



Трейсы от debug кончаются на вызове функции аутентификации(каким бы способом она не вызывалась)



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
0.00000	0.00000	A C C E P T: Request="LOGIN"	4	

0.00000	0.00000	Metadata: Fetch application definition and shortcuts	4	

0.00000	0.01500	NLS: Language=en	4	

0.01500	0.00000	...metadata, fetch translated app info	4	

0.01500	0.00000	alter session set nls_language="AMERICAN"	4	

0.01500	0.00000	alter session set nls_territory="AMERICA"	4	

0.01500	0.00000	NLS: CSV charset=WE8MSWIN1252	4	

0.01500	0.00000	...NLS: Set Decimal separator="."	4	

0.01500	0.00000	...NLS: Set NLS Group separator=","	4	

0.01500	0.00000	...NLS: Set g_nls_date_format="DD-MON-RR"	4	

0.01500	0.00000	...NLS: Set g_nls_timestamp_format="DD-MON-RR HH.MI.SSXFF AM"	4	

0.01500	0.00000	...NLS: Set g_nls_timestamp_tz_format="DD-MON-RR HH.MI.SSXFF AM TZR"	4	

0.01500	0.00000	Setting NLS_DATE_FORMAT to application date format: DS	4	

0.01500	0.00000	Setting NLS_TIMESTAMP_FORMAT to application timestamp format: DS	4	

0.01500	0.00000	Setting NLS_TIMESTAMP_TZ_FORMAT to application timestamp time zone format: DS	4	

0.01500	0.00000	...NLS: Set g_nls_date_format="DS"	4	

0.01500	0.00000	...NLS: Set g_nls_timestamp_format="DS"	4	

0.01500	0.00000	...NLS: Set g_nls_timestamp_tz_format="DS"	4	

0.01500	0.00000	...fetch session state from database	4	

0.01500	0.00000	fetch items	4	

0.01500	0.00000	...fetched 1 session state items	4	

0.01500	0.00000	Authentication check: TestScheme (NATIVE_CUSTOM)	4	

0.01500	0.00000	... sentry+verification success	4	

0.01500	0.00000	...Session ID 303491311859801 can be used	4	

0.01500	0.00000	SESSION Language (nobody): wwv_flow.g_browser_language=en maplang=en	4	

0.01500	0.00000	Setting NLS_DATE_FORMAT to application date format: DS	4	

0.01500	0.00000	Setting NLS_TIMESTAMP_FORMAT to application timestamp format: DS	4	

0.01500	0.00000	Setting NLS_TIMESTAMP_TZ_FORMAT to application timestamp time zone format: DS	4	

0.01500	0.00000	...NLS: Set g_nls_date_format="DS"	4	

0.01500	0.01600	...NLS: Set g_nls_timestamp_format="DS"	4	

0.03100	0.00000	...NLS: Set g_nls_timestamp_tz_format="DS"	4	

0.03100	0.00000	NLS: Language=en	4	

0.03100	0.00000	...metadata, fetch translated app info	4	

0.03100	0.00000	...Setting session time_zone to +04:00	4	

0.03100	0.00000	...Check session 303491311859801 owner	4	

0.03100	0.00000	Setting NLS_DATE_FORMAT to application date format: DS	4	

0.03100	0.00000	Setting NLS_TIMESTAMP_FORMAT to application timestamp format: DS	4	

0.03100	0.00000	Setting NLS_TIMESTAMP_TZ_FORMAT to application timestamp time zone format: DS	4	

0.03100	0.00000	...NLS: Set g_nls_date_format="DS"	4	

0.03100	0.00000	...NLS: Set g_nls_timestamp_format="DS"	4	

0.03100	0.00000	...NLS: Set g_nls_timestamp_tz_format="DS"	4	

0.03100	0.00000	...Metadata: Fetch Page, Computation, Process, and Branch	4	

0.03100	0.00000	Session: Fetch session header information	4	

0.03100	0.00000	...metadata, fetch page info	4	

0.03100	0.00000	...Validate item page affinity.	4	

0.03100	0.00000	...Validate protected items.	4	

0.03100	0.00000	...Check authorization security schemes	4	

0.03100	0.00000	Session State: Save form items and p_arg_values	4	

0.03100	0.00000	...Session State: Save "P112_USERNAME" - saving same value: "tpodelinskaya"	4	

0.03100	0.00000	Processes - point: ON_SUBMIT_BEFORE_COMPUTATION	4	

0.03100	0.00000	Branch point: Before Computation	4	

0.03100	0.00000	Computation point: After Submit	4	

0.03100	0.00000	Tabs: Perform Branching for Tab Requests	4	

0.03100	0.00000	Branch point: Before Validation	4	

0.03100	0.00000	Validations:	4	

0.03100	0.01600	Perform basic and predefined validations:	4	

0.04700	0.00000	Perform custom validations:	4	

0.04700	0.00000	Branch point: Before Processing	4	

0.04700	0.00000	Processes - point: AFTER_SUBMIT	4	

0.04700	0.00000	...Process "Set Username Cookie" - Type: PLSQL	4	

0.04700	0.00000	...Execute Statement: begin apex_authentication.send_login_username_cookie ( p_username => lower(:P112_USERNAME) ); end;	4	

0.04700	0.00000	...Process "Login" - Type: PLSQL	4	

0.04700	0.00000	...Execute Statement: begin apex_authentication.login( p_username => :P112_USERNAME, p_password => :P112_PASSWORD ); end;	4	

0.04700	0.00000	...Session ID 303491311859801 can be used	4	

0.04700	-	...Execute Statement: begin declare begin wwv_flow.g_boolean := package.my_authentication_dbms( p_username => :p_username, p_password => :p_password ); end; end;	4	-
1 - 65


...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #38002579
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
acya3. Выдаю права grant execute on package.my_authentication_dbms to anonymous;(под anonymous она и вызывается)
Для апекс приложения никакие grants to anonymous не нужны, максимум гранты собственнику приложения, которая уже имеет права на свои процедуры. В общем-то опыты с anonymous бесполезны, в том числе в pl/sql developer-е

acya4. Делаю схему текущей
Я надеюсь, вы в apex никаких alter не делаете, речь в апексе может быть лишь в выборе Parsing Schema в свойствах приложения - схемы, в которой вы ведете разработку ...
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #38002623
acya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDevacya4. Делаю схему текущей
Я надеюсь, вы в apex никаких alter не делаете, речь в апексе может быть лишь в выборе Parsing Schema в свойствах приложения - схемы, в которой вы ведете разработку ...

Я имела в виду схему аутентификации. Там нужно кликнуть кнопку Make Current
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #38002660
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
acya,

А что такое package, это имя схемы (в пакетах нельзя писать create or replace) ?

Совпадает ли схема функции my_authentication_dbms с Parsing Schema в свойствах приложения? Схема обычная - созданная или особая (system, apex_040100 и т.д.)
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #38002672
acya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDevacya,

А что такое package, это имя схемы (в пакетах нельзя писать create or replace) ?

Совпадает ли схема функции my_authentication_dbms с Parsing Schema в свойствах приложения? Схема обычная - созданная или особая (system, apex_040100 и т.д.)

Да, имя схемы

Есть схема, в которой лежит my_authentication_dbms - схема1
Есть схема, которая прописана в Parsing Schema - схема2

Выданы права

grant execute on схема1.my_authentication_dbms to схема2
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #38002738
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
acya,

Вы можете отчасти эмулировать из pl/sql developer-а недокументированными функциями,
в надежде, что будет более подробная информация об ошибке, например:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
declare 
  p_schema varchar2(30);
  p_app_id number := ; -- номер апекс приложения
  p_app_user varchar2(100) := ; -- пользователь апекс приложения
  p_app_pw varchar2(100) := ; -- пароль апекс приложения
  
  -- код вызова проверяемого процесса
  p_code varchar2(4000) := 'begin if схема.my_authentication_dbms then null; else null; end if; end;';
begin
  select t.schema into p_schema
  from dba_registry t
  where comp_id = 'APEX';

  apex_application.G_PUBLIC_USER := 'ANONYMOUS';
  for c1 in ( select workspace_id
              from apex_applications
              where application_id = p_app_id ) loop

     apex_util.set_security_group_id( p_security_group_id => c1.workspace_id );
     exit;
  end loop;

  apex_custom_auth.login(
          p_uname => p_app_user,
          p_password => p_app_pw,
          p_app_page => p_app_id || ':1'
  );
  
  execute immediate( 'declare param number; begin '
                  || '  param := ' || p_schema || '.WWV_FLOW_META_DATA.FETCH_FLOW_INFO;'
                  || 'end;' );
                  
  htp.init;
  execute immediate( 'begin ' || p_schema || '.WWV_FLOW_DYNAMIC_EXEC.EXECUTE_PLSQL_CODE('''
                  || p_code || '''); end; ');
end;


Выполнять под system, схема my_authentication_dbms обычная (не system/apex_040100 и т.д.)
Схему аутентификации приложения такая, чтобы аутентифицировала без всяких ldap указанного пользователя
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #38002797
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
acya,

Обе схемы схема1, схема2 ваши созданные? Лучше всего использовать одну схему, при таких ошибках...
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #38002897
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще лучше p_code такой
Код: plsql
1.
  p_code varchar2(4000) := 'begin if схема.my_authentication_dbms then raise_application_error(-20001,''''TRUE''''); else raise_application_error(-20001,''''FALSE''''); end if; end;';


Чтобы видеть, выполняется ли...
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #38003707
acya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev,

Подняли другую Active Directory, заработало с полпинка

Видимо, проблема в нехватке прав на серверные ресурсы, думаю над тем, кому и чего не хватает, сам процесс oracle.exe выполняет все корректно без участия EPG, а через него фейл

База 10g, acl добавлять не требуется
...
Рейтинг: 0 / 0
Зависание при попытке аутентификации через Active Directory
    #38003835
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
acya,

У вас же не EPG с Active Directory общается, а тот же Oracle Database, только метод вызова указанного PL/SQL разный...
А как его отчасти воспроизвести - я написал, если оборвется, смотреть что дописывается в alert.log:
Код: plsql
1.
2.
select value from v$parameter 
where name = 'background_dump_dest'



+ Oracle Application Express Installation Requirements пункт 2.1.1
...
Рейтинг: 0 / 0
36 сообщений из 36, показаны все 2 страниц
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Зависание при попытке аутентификации через Active Directory
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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