Я пытаюсь избежать входа пользователей на разные компьютеры.
Я хочу создать представление входа в систему, если пользователь уже вошел в систему и вы пытаетесь войти в систему с этим пользователем, приложение отобразит сообщение «пользователь уже зарегистрирован» и может закрыть открытый сеанс сссылка или кнопка.
РЕДАКТИРОВАТЬ: Apex Версия 5.1.1.00.08, нет возможности обновить эту версию.
Я пробовал несколько способов закрыть сеансно ни один из них не сработал.
ПЕРВОЕ ДЕЙСТВИЕ:
Создайте URL для выхода.
Я принимаю APEX_SESSION_ID из таблицы apex_workspace_sessions
![enter image description here](https://i.stack.imgur.com/NjNCk.png)
http://xxxxxxxx.com/apex/apex_authentication.logout?p_app_id=100&p_session_id=APEX_SESSION_ID
Но когда я открываю ссылку,не выходит из системы с этим пользователем APEX_SESSION_ID
ВТОРОЕ ДЕЙСТВИЕ:
Я попытался создать функцию для выхода из сеанса, извлекающего APEX_SESSION_ID из таблицы apex_workspace_sessions но это не работает, генерируя этот error:
ORA-06550: строка 2, столбец 11: PLS-00328: Тело подпрограммы должно быть определено для предварительного объявления DELETE_SESSION. ORA-06550: строка 6, столбец 16: PLS-00302: должен быть объявлен компонент 'DELETE_SESSION' ORA-06550: строка 6, столбец 3: PL / SQL: оператор игнорируется
![enter image description here](https://i.stack.imgur.com/2zcNM.png)
КОД:
declare
procedure delete_session (p_session_id in number default wwv_flow.g_instance );
begin
apex_session.delete_session (
p_session_id => APEX_SESSION_ID );
end;
p_session_id в изображении APEX_SESSION_ID , который уже существуетв таблице apex_workspace_sessions
ТРЕТЬЕ ДЕЙСТВИЕ:
Я попытался выполнить запрос
DELETE FROM APEX_050000.wwv_flow_sessions$ WHERE ID = APEX_SESSION_ID;
с отображением ошибки: ORA-00942: таблица или представление не существует
и запрос
DELETE FROM apex_workspace_sessions WHERE APEX_SESSION_ID = APEX_SESSION_ID;
, отображающий ошибку: ORA-01031: недостаточные права доступа
ЧЕТВЕРТЫЙ ДЕЙСТВИЕ:
Я пытался использовать ПРОЦЕДУРУ ВЫХОДА из официальных документов оракула, но тоже не работал
apex_authentication.logout(APEX_SESSION_ID, :APP_ID);
без ошибокили что-нибудь для отображения.
Кто-нибудь знает, как выйти из системы с другого компьютера?
Спасибо