powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / После авторизации открыть домашнюю страницу с попап-окне...
16 сообщений из 16, страница 1 из 1
После авторизации открыть домашнюю страницу с попап-окне...
    #38128429
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеется процесс авторизации, повешенный на реквест 'LOGIN':
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
BEGIN
    APEX_CUSTOM_AUTH.LOGIN(
        P_UNAME       => :P101_USERNAME,
        P_PASSWORD    => :P101_PASSWORD,
        P_SESSION_ID  => :SESSION,
        P_APP_PAGE   => :APP_ID||':1'
        );
END;



и после нажатие на кнопку "Вход" выполняется apex.submit('LOGIN').
После чего в этой же странице уже открывается домашняя страница, а как сделать что бы она открывалась в попап окне?

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

Submit устраивает -> сделать стартовой страницей страницу логина + в onload на условие вызов popup.

Submit не устраивает -> аутентификация посредством ajax, см. htmldb_get. Потом в js вызвать popup. Не гарантирую, что будет работать на 100%, но почти наверняка реализуемо.
Запрашивать OnDemand процесс со страницы 0 (если для page zero выставлено page is public) либо со страницы логина + смотреть, чтобы сессия не менялась.
...
Рейтинг: 0 / 0
После авторизации открыть домашнюю страницу с попап-окне...
    #38128748
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл, если через Аякс, вернет страницу с редиректом. Результат в Authentication function писать в Items либо в Cookie, в том числе home page, который запрашивать потом вторым аякс запросом.

P.S.
kasikИмеется процесс авторизации,
процесс аутентификации*
...
Рейтинг: 0 / 0
После авторизации открыть домашнюю страницу с попап-окне...
    #38129006
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvDev,

Спасибо за поправку)

По поводу варианта с submit, как конкретно реализовать это.

Как я понимаю:
изменить в процессе:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
BEGIN
    APEX_CUSTOM_AUTH.LOGIN(
        P_UNAME       => :P101_USERNAME,
        P_PASSWORD    => :P101_PASSWORD,
        P_SESSION_ID  => :SESSION,
        P_APP_PAGE   => :APP_ID||':101'
        );
END;


То есть после успешной аутентификации перехожу опять на страницу логина, но на onload которой будет стоять проверка(?? какая именно? что мы авторизовались, те :APP_USER not null или что связка логин пароль валидна, через apex_util?) и уже при успешности проверки выкидывать уже первую страницу в popup.

Но что тогда делать с окном, которое остается(101 - страница логина), как ее закрыть...

Так ли я все понимаю?
...
Рейтинг: 0 / 0
После авторизации открыть домашнюю страницу с попап-окне...
    #38129060
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kasik(?? какая именно? что мы авторизовались, те :APP_USER not null или что связка логин пароль валидна, через apex_util?)
Вариантов много, например выставить condition display: user is authenticated или аналогичное (найдете поиском).


kasikНо что тогда делать с окном, которое остается(101 - страница логина), как ее закрыть...
Нужно открывать popup при условии выше, после загрузки страницы, если не сработает условие никакого popup не будет. т.е. в зависимости от того, как вы открываете popup - условие на DA / Process / Регион с кодом вызова Popup и т.д.
...
Рейтинг: 0 / 0
После авторизации открыть домашнюю страницу с попап-окне...
    #38129073
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если у вас окно с логином уже в Popup, тоже не вижу проблемы.

Если это window/iframe - вообще ничего не надо делать, новая страница будет в popup.
Если это js/jQuery - оно само закроется при выполнении apex.submit, т.е. алгоритм тот, который я указал выше
...
Рейтинг: 0 / 0
После авторизации открыть домашнюю страницу с попап-окне...
    #38129102
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvDev.. если не сработает условие никакого popup не будет....
я про случай, если будет.

То через DA определяем что popup открылся и закрываем текущее window.close().

Так?
...
Рейтинг: 0 / 0
После авторизации открыть домашнюю страницу с попап-окне...
    #38129121
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kasik,

Т.е. у вас страница логина уже в Popup и уже реализован в window/iframe или как?
...
Рейтинг: 0 / 0
После авторизации открыть домашнюю страницу с попап-окне...
    #38129150
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет!

Вот именно что мне надо что бы открылась старница логина обычно в браузере, и потом после логина открылся попап с домашней страницей. Нужно для того что бы уже в новом окне не было строки ввода адреса, и вообще ничего не было кроме самой страницы.

Это нужно для того что тетемаше, которая всю жизнь работала с десктоп-приложениями сейчас не привычно и практически невозможно работать с таким окном, в котором есть строка адреса, заладки разные и статусная строка внизу.

как то так...

Вообще бы идеально что бы сразу запускалось без строки адреса в обычном виндовом окне.

Что можете посоветовать?

PS: понимаю что чушь и глупость но тем неменее имеющее место!
...
Рейтинг: 0 / 0
После авторизации открыть домашнюю страницу с попап-окне...
    #38129199
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kasik,

1. На кнопку логин происходит submit
2. Если успешно -> редирект на страницу эту же. У пользователя страница обновляется (редиректится). Все открытые Popup если есть исчезают. Дальше если логин успешен -> вызывается popup окно с home page + да, можно window.close попробовать.
3. Если нет - остаемся на странице, куда произошел редирект никаких popup не открываем и не закрываем.

Условия не в js, а в PL/SQL или в DA condition display, или в процессах:

if (...) APEX_JAVASCRIPT.ADD_ONLOAD_CODE ('window.open..');
или
if (...) htp('<script>window.open.. </script> ');
и т.д.
...
Рейтинг: 0 / 0
После авторизации открыть домашнюю страницу с попап-окне...
    #38129278
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kasik,

window.close не кроссбраузерное, решений кроссбраузерных скорее всего нет, в любом случае, это не в форум по апексу.
Очевидно apex не может того, чего не может web-страница
...
Рейтинг: 0 / 0
После авторизации открыть домашнюю страницу с попап-окне...
    #38129340
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что то не могу найти где поменять тип страницы, что бы страницу логина сделать домашней.
Тк без этого не зависимо какая страница указана в:
Код: plsql
1.
2.
3.
...
 P_APP_PAGE   => :APP_ID||':101'
...



переход идет на домашнюю страницу, хоть и указана страница логина.
...
Рейтинг: 0 / 0
После авторизации открыть домашнюю страницу с попап-окне...
    #38129353
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
После авторизации открыть домашнюю страницу с попап-окне...
    #38129379
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну нет раздела Home link в apex 4.2
Такого не наблюдаю.

Где посмотреть?
...
Рейтинг: 0 / 0
После авторизации открыть домашнюю страницу с попап-окне...
    #38129394
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Достаточно поменять в
Shared Components -> Authentication Schemes -> Create / Edit
раздел

Post-Logout URL: URL: f?p=&APP_ID.:101
...
Рейтинг: 0 / 0
После авторизации открыть домашнюю страницу с попап-окне...
    #38130456
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все получилось:

On Load After Header:
Код: plsql
1.
2.
3.
4.
5.
BEGIN
    htp.p('<script>');
    htp.p('	closeNewWin("f?p=" + $v("pFlowId") + ":1:"+$v("pInstance"));');
    htp.p('</script>');
END;



Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
function closeNewWin(st)
//Закрывает текущее окно, и открывает в новом окне(просто виндовое окно) страницу st
{
    window.open("", "_self");
	win = top;
	win.opener = top;
	win.close();
    var params = "menubar=no,location=no,resizable=no,scrollbars=no,status=no";
	window.open(st, "winHome", params);
};



Использовался небольшой хак IE. Работа проверялась только в нем, другие браузеры непринципиальны.

SvDev, спасибо за помощь
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / После авторизации открыть домашнюю страницу с попап-окне...
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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