Пользовательская аутентификация не удалась после обновления до Oracle APEX 18.2 - PullRequest
1 голос
/ 23 марта 2019

Моя среда: Windows 10 XE 18C Apex 18.2 Ords 18.4

Я обновил Apex 5.1 и моя пользовательская аутентификация больше не работает.Когда я пытаюсь войти в свое приложение 104 на странице 101, после ввода имени пользователя и пароля и нажатия кнопки «Вход» я получаю следующее сообщение об ошибке:

start l_return = 1 После обновления .. Set-Cookie: ORA_WWV_APP_104 = ORA_WWV-FByLiIYz0y3yltgzZGNtjgdA;HttpOnly X-Content-Type-Options: nosniff X-Xss-Protection: 1;mode = block Местоположение: f? p = 104: 1: 12616933237063 :::::

Я не совсем уверен, что это сообщение указывает.Если я переключаю схему аутентификации на Application Express Authentication, пользователь аутентифицируется нормально.Внутри моей пользовательской схемы аутентификации у меня установлены следующие переменные:

Scheme Type = Custom
Authentication Function Name = PKG_USERS.APEX_AUTHENTICATE_USER
Enable Legacy Authentication Attributes = No
Session Not Valid / Go To: = Login Page
Switch In Session = Disabled
Post-Logout URL = Home Page
Session Sharing = Application (No Sharing)

Я протестировал пакет: PKG_USERS.APEX_AUTHENTICATE_USER со следующим тестовым кодом в SQLDeveloper:

declare
p_user              varchar2(512);
p_password          varchar2(512);
p_temp_boolean      boolean;
begin
p_user := '(my username)';
p_password := '(my password)';
p_temp_boolean := PKG_USERS.APEX_AUTHENTICATE_USER(p_user, p_password);
dbms_output.put_line('The return is: ' || sys.diutil.bool_to_int(p_temp_boolean));
end;

Когда я предоставляюправильное сочетание имени пользователя и пароля, процедура возвращает 1. Когда я предоставляю неправильный пароль, процедура возвращает 0.

Что изменилось с Apex 5.1 на 18, чтобы вызвать ошибку в этой схеме аутентификации?

1 Ответ

0 голосов
/ 26 марта 2019

Я нашел проблему. Это было связано со страницей входа. Приложение, вероятно, было создано в Apex 3.x. Я создал новое одноразовое приложение в Apex 18.2, а затем скопировал новый стиль страницы входа в перенесенное приложение.

Новые приложения APEX используют страницу 9999 в качестве страницы входа. В новый стиль страницы входа добавлено несколько новых полей. После того как страница 9999 была скопирована из «одноразового» приложения, я удалил псевдоним страницы «LOGIN» со страницы 101 и добавил его на страницу 9999. После этого я смог войти в систему и выйти из нее, используя мою существующую пользовательскую схему аутентификации с нет проблем.

...