powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Надо изменить сообщение Invalid login credentials
21 сообщений из 21, страница 1 из 1
Надо изменить сообщение Invalid login credentials
    #36714489
avm76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Мне надо чтобы при возникновении ошибки во время авторизации вместо стандартного сообщения Invalid login credentials выдавалось другое, причем текст которого зависел бы от типа ошибки.
Например: Invalid login (при вводе неверного логина) или Invalid password (при вводе неверного пароля)

Возможно ли такое в апексе?
...
Рейтинг: 0 / 0
Надо изменить сообщение Invalid login credentials
    #36714969
PITMOV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы можете отлавливать эту ошибку сами с помощью javascript, или почитать здесь
...
Рейтинг: 0 / 0
Надо изменить сообщение Invalid login credentials
    #36715200
avm76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PITMOV, спасибо

Эту тему я читал.

Вы не совсем поняли мой вопрос. У меня нет проблемы поменять это сообщение. Есть проблема, чтобы текст этого сообщения зависел от того что именно пользователь ввел неверно: логин или пароль

Кстати после добавления перевода для этого сообщения он автоматом не подватывается пока я руками не грохнул основное сообщение в таблице FLOWS_030100.Wwv_Flow_Messages$

Вот непонятно это баг апекса, или мои кривые руки
...
Рейтинг: 0 / 0
Надо изменить сообщение Invalid login credentials
    #36715807
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avm76,

0. Создайте собственную схему аутентификации, использующую Вашу собственную функцию.
1. Создайте переменную приложения, в которой будете хранить сообщение об ошибке.
2. В функции аутентификации проверяйте необходимые условия, в зависимости от которых устанавливайте то или иное сообщение в переменной приложения, используя apex_util.set_session_state.
3. На странице логина добавьте регион, в котором будете выводить сообщение, если оно есть, и After Footer-процесс, который будет убирать сообщение из переменной.

Вроде всё.
...
Рейтинг: 0 / 0
Надо изменить сообщение Invalid login credentials
    #36719261
avm76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
suPPLer, спасибо

Это уже ближе к истине и наверное так можно победить. Проблема только в том, чтобы убрать стандартное сообщение апекса. По сути это div внутри которого <script>alert()</script>.
Т.е. я потом конечно могу вывести свое сообщение - но уже как вторичную диагностику.

Я победил, но через наизнанку. Я просто меняю стандартное сообщение INVALID_CREDENTIALS в таблице сообщений для своего приложения на нужное мне перед возвратом false из вункции авторизации.
...
Рейтинг: 0 / 0
Надо изменить сообщение Invalid login credentials
    #36720237
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avm76Проблема только в том, чтобы убрать стандартное сообщение апекса.

Это сообщение создаётся функцией wwv_flow_custom_auth_std.login, если Ваша функция аутентификации возвращает FALSE: подстановка #NOTIFICATION_MESSAGE# заменяется в шаблоне страницы на сообщение INVALID_CREDENTIALS. Путей решения как минимум два:
0. Меняете шаблон страницы логина, убирая из него #NOTIFICATION_MESSAGE# и выводя своё сообщение в собственном регионе.
1. Сами реализуете процесс, который выполняется wwv_flow_custom_auth_std.login: бранчи или owa_util.redirect_url для перехода обратно на страницу, если аутентификация [не] прошла, процесс с вызовом Вашей функции...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Надо изменить сообщение Invalid login credentials
    #38008519
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использую APEX_CUSTOM_AUTH.LOGIN, апексовскую авторизацию.
Нужно при ошибке палося вывести свое сообщение в алерте.
Как это можно сделать?
...
Рейтинг: 0 / 0
Надо изменить сообщение Invalid login credentials
    #38008544
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*пароля
...
Рейтинг: 0 / 0
Надо изменить сообщение Invalid login credentials
    #38008568
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема в том что APEX_CUSTOM_AUTH.LOGIN это процедура и по ней не определишь успешен или нет логин.
И во вторых попробовал выводить алерты через htp.p пишет что page not found от flow.accept.
...
Рейтинг: 0 / 0
Надо изменить сообщение Invalid login credentials
    #38009505
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Засада прям какая то:

В общем, на странице есть еще несколько проверочных процессов по событию "On Submit - After Computation and Validations", те мне нужно использовать только apex.submit что бы они все отработали(да и кажется через ajax нельзя сделать логин, я пробовал и вываливается ошибка "Page protection violation: This may be caused by submitting a page that had not yet finished loading or by manual alteration of protected page items."). На ошибке о вводе пароля мне нужно показать свой div. Я его задаю в шаблоне. По ready страницы его скрываю. Но когда срабатывает субмит происходит отработка дополнительныйх процессов от куда я показываю данный div, но он опять скрывается так как по странице ready он опять скрывается, ввиду перегрузки страницы.

Как вообще нужно правильно перехватывать данные события? И можно ли это все сделать через ajax?
...
Рейтинг: 0 / 0
Надо изменить сообщение Invalid login credentials
    #38011593
dvksqlru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kasik,

Home - Application Builder - Application xxx - Shared Components - Translate - Text Messages

Create Text Message

Далее (Message)

Name = INVALID_CREDENTIALS

Language = ru (или другой язык)

Text = Неверное имя пользователя или пароль (или другое)
...
Рейтинг: 0 / 0
Надо изменить сообщение Invalid login credentials
    #38011708
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это я знаю, но мне нужно опменять не сомо сообщение, а вообще полностью кастомизировать их вывод, в свой div, грубо говоря.

Как это дело перехватить? вот в чем вопрос....
...
Рейтинг: 0 / 0
Надо изменить сообщение Invalid login credentials
    #38013355
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kasik,

По-поводу кастомизации сообщений - page template, меняете как угодно. Никакого js не нужно, html + css

По-поводу признака - в пакете apex_application ищите подходящие переменные, в которые записываются сообщение (g_notification и т.д.) либо как подробно рассказал suPPLer

По-поводу аякса - можно, если сильно захотеть. функция логина генерирует заголовки редиректа, по-которым браузер переходит на начальную страницу, с установкой кукисов, смотрите разницу в заголовках ответа и программируйте!
...
Рейтинг: 0 / 0
Надо изменить сообщение Invalid login credentials
    #38013464
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если по схеме, описанной suPPLer, то:
0. Меняете шаблон страницы логина, убирая из него #NOTIFICATION_MESSAGE# и выводя своё сообщение в собственном регионе.

регион у меня допустим есть, и сообщение тоже, ну уберу я #NOTIFICATION_MESSAGE# и просто будет игнорироваться ошибка, выцвода никакого не будет, как мне узнать когда выводить мое сообщение?
1. Сами реализуете процесс, который выполняется wwv_flow_custom_auth_std.login: бранчи или owa_util.redirect_url для перехода обратно на страницу, если аутентификация [не] прошла, процесс с вызовом Вашей функции...

Аутентификация у меня апексовая то есть нужно проверить логин пароль апексовго пользователя, это получается что нужно сделать подобие wwv_flow_custom_auth_std.login со своим выводом в результате ошибки окна ошибки. так?
или запускать всетаки wwv_flow_custom_auth_std.login и в данном plsql блоке если аутентификация прошла то после данной процедуры код не пойдет а произойдет редирек, и далее выполнять свой код,тк аутентификация не прошла и под пошел выполняться далее. а в своем коде уже можно активировать тот или другой регион. так?
...
Рейтинг: 0 / 0
Надо изменить сообщение Invalid login credentials
    #38013518
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kasikрегион у меня допустим есть, и сообщение тоже, ну уберу я #NOTIFICATION_MESSAGE# и просто будет игнорироваться ошибка, выцвода никакого не будет, как мне узнать когда выводить мое сообщение?
&APP_ITEM.

kasikАутентификация у меня апексовая то есть нужно проверить логин пароль апексовго пользователя, это получается что нужно сделать подобие wwv_flow_custom_auth_std.login со своим выводом в результате ошибки окна ошибки. так?
или запускать всетаки wwv_flow_custom_auth_std.login и в данном plsql блоке если аутентификация прошла то после данной процедуры код не пойдет а произойдет редирек, и далее выполнять свой код,тк аутентификация не прошла и под пошел выполняться далее. а в своем коде уже можно активировать тот или другой регион. так?
9025777
...
Рейтинг: 0 / 0
Надо изменить сообщение Invalid login credentials
    #38013603
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что то я не догнал немного глубину мысли...

Это последовательность действий или возможные варианты?

0. Создайте собственную схему аутентификации, использующую Вашу собственную функцию.
но у меня апексовские пользователи, значит создавать ф-ю которая будет проверять их?
1. Создайте переменную приложения, в которой будете хранить сообщение об ошибке.
понятно
2. В функции аутентификации проверяйте необходимые условия, в зависимости от которых устанавливайте то или иное сообщение в переменной приложения, используя apex_util.set_session_state.
здесь сохраняем в данной переменной нужную ошибку.
3. На странице логина добавьте регион, в котором будете выводить сообщение, если оно есть, и After Footer-процесс, который будет убирать сообщение из переменной.
тут как то не понятно, как я буду выводить там ошибку, если она чистится в After Footer-процессе?
...
Рейтинг: 0 / 0
Надо изменить сообщение Invalid login credentials
    #38013614
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kasik,

Ну уж вам прямо инструкцию дай, пункт в пункт... Механизмы есть, дальше сами лепите...
...
Рейтинг: 0 / 0
Надо изменить сообщение Invalid login credentials
    #38013643
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще регион необязателен, можно без региона в page template
kasikтут как то не понятно, как я буду выводить там ошибку, если она чистится в After Footer-процессе?
Видимо имелся ввиду page process, который подчищает сразу после вывода страницы.
...
Рейтинг: 0 / 0
Надо изменить сообщение Invalid login credentials
    #38013676
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне не инструкция нужна, а как правильно вы заметили механизм, но как я повторяюсь он в моем сознании нелинеен, и хотелось протсо разеснений по поводу как раз механизма. И та как вы посоветовали именно его, значит вы его понимаете и осознаете, и хотелось бы просто услышать ваши комментарии по моеим вопросом по пунктам, которые для меня оказались непонятны.
Спасибо
...
Рейтинг: 0 / 0
Надо изменить сообщение Invalid login credentials
    #38014257
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решил сделать все через AJAX, так проще в контексте вывода сообщений об ошибке.
Но придется переделывать wwv_flow_custom_auth_std.login, в плане:
сначала проверю есть ли такой пользователь вооще -
Код: sql
1.
    VAL := APEX_UTIL.GET_USER_ID(p_username => :P101_UN);


потом надо проверить связку логин\пароль, и есть ли такая связка имеет место, то запускаем уже wwv_flow_custom_auth_std.login и авторизовавшись переходим на основную страницу.

Но тут еще вопросы, выделенные красным:
- не нашел ф-и каторая бы возвратила true если связка логин\пароль существует
и
- если я этот процесс выполню через AJAX произойдет ли редирект при успешном выполнении процедуры wwv_flow_custom_auth_std.login?
...
Рейтинг: 0 / 0
Надо изменить сообщение Invalid login credentials
    #38014258
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первый вопрос снимается нашел такую функцию:
Код: sql
1.
IS_LOGIN_PASSWORD_VALID
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Надо изменить сообщение Invalid login credentials
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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