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

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

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

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

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

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

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

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

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

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

Я победил, но через наизнанку. Я просто меняю стандартное сообщение INVALID_CREDENTIALS в таблице сообщений для своего приложения на нужное мне перед возвратом false из вункции авторизации.
...
Рейтинг: 0 / 0
02.07.2010, 15:46
    #36720237
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Надо изменить сообщение Invalid login credentials
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
Период между сообщениями больше года.
22.10.2012, 17:08
    #38008519
kasik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Надо изменить сообщение Invalid login credentials
Использую APEX_CUSTOM_AUTH.LOGIN, апексовскую авторизацию.
Нужно при ошибке палося вывести свое сообщение в алерте.
Как это можно сделать?
...
Рейтинг: 0 / 0
22.10.2012, 17:14
    #38008544
kasik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Надо изменить сообщение Invalid login credentials
*пароля
...
Рейтинг: 0 / 0
22.10.2012, 17:30
    #38008568
kasik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Надо изменить сообщение Invalid login credentials
Проблема в том что APEX_CUSTOM_AUTH.LOGIN это процедура и по ней не определишь успешен или нет логин.
И во вторых попробовал выводить алерты через htp.p пишет что page not found от flow.accept.
...
Рейтинг: 0 / 0
23.10.2012, 11:34
    #38009505
kasik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Надо изменить сообщение Invalid login credentials
Засада прям какая то:

В общем, на странице есть еще несколько проверочных процессов по событию "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
24.10.2012, 15:36
    #38011593
dvksqlru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Надо изменить сообщение Invalid login credentials
kasik,

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

Create Text Message

Далее (Message)

Name = INVALID_CREDENTIALS

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

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

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

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

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

По-поводу аякса - можно, если сильно захотеть. функция логина генерирует заголовки редиректа, по-которым браузер переходит на начальную страницу, с установкой кукисов, смотрите разницу в заголовках ответа и программируйте!
...
Рейтинг: 0 / 0
25.10.2012, 17:02
    #38013464
kasik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Надо изменить сообщение Invalid login credentials
Если по схеме, описанной 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
25.10.2012, 17:26
    #38013518
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Надо изменить сообщение Invalid login credentials
kasikрегион у меня допустим есть, и сообщение тоже, ну уберу я #NOTIFICATION_MESSAGE# и просто будет игнорироваться ошибка, выцвода никакого не будет, как мне узнать когда выводить мое сообщение?
&APP_ITEM.

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

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

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

Ну уж вам прямо инструкцию дай, пункт в пункт... Механизмы есть, дальше сами лепите...
...
Рейтинг: 0 / 0
25.10.2012, 18:36
    #38013643
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Надо изменить сообщение Invalid login credentials
Вообще регион необязателен, можно без региона в page template
kasikтут как то не понятно, как я буду выводить там ошибку, если она чистится в After Footer-процессе?
Видимо имелся ввиду page process, который подчищает сразу после вывода страницы.
...
Рейтинг: 0 / 0
25.10.2012, 19:05
    #38013676
kasik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Надо изменить сообщение Invalid login credentials
Мне не инструкция нужна, а как правильно вы заметили механизм, но как я повторяюсь он в моем сознании нелинеен, и хотелось протсо разеснений по поводу как раз механизма. И та как вы посоветовали именно его, значит вы его понимаете и осознаете, и хотелось бы просто услышать ваши комментарии по моеим вопросом по пунктам, которые для меня оказались непонятны.
Спасибо
...
Рейтинг: 0 / 0
26.10.2012, 11:26
    #38014257
kasik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Надо изменить сообщение Invalid login credentials
Решил сделать все через 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
26.10.2012, 11:28
    #38014258
kasik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Надо изменить сообщение Invalid login credentials
Первый вопрос снимается нашел такую функцию:
Код: sql
1.
IS_LOGIN_PASSWORD_VALID
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Надо изменить сообщение Invalid login credentials / 21 сообщений из 21, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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