Редактировать: Я мог быть неясен с моим вопросом. Схема авторизации должна уходить со страницы после страницы входа.
Я создаю приложение Apex с настраиваемой аутентификацией, я успешно создал страницу входа в систему и теперь могу устанавливать значения элементов сеанса. Я создал элемент приложения apex под названием «SESSION_USER_ROLE» и в своей процедуре аутентификации при входе в систему я установил роль пользователя в состоянии сеанса с помощью:
Apex_Util.Set_Session_State('SESSION_USER_ROLE', v_role);
После входа в систему с одной из моих учетных записей пользователей и проверки элементов приложения сеанса я могу подтвердить, что значение элемента и имя элемента правильно установлены в элементах приложения и состоянии сеанса.
Однако, когда я пытаюсь получить доступ к значению элемента 'SESSION_USER_ROLE' для схемы авторизации, используя функцию PL / SQL, возвращающую логическое значение, я всегда получаю «ложь», даже когда мне нужно получить «истину». Это код PL / SQL, который я пытался использовать для авторизации:
DECLARE
v_role VARCHAR2(200);
v_auth boolean;
BEGIN
v_role := APEX_UTIL.FETCH_APP_ITEM('SESSION_USER_ROLE');
--This is the value of the SESSION_USER_ROLE for this specific user
if v_role = 'CEO' then
v_auth := true;
else
v_auth := false;
end if;
return v_auth;
END;
Я не понимаю, что я делаю здесь не так. Разве это не правильный способ получения значения элемента SESSION_USER_ROLE?