Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle APEX Новый топик    Ответить
 Своя Authentication Schemes  [new]
Рустамка
Member

Откуда:
Сообщений: 55
Здравствуйте!
Версии
Oracle Apex 4.2.3...
Oracle 11g

Есть форма входа (Login Form)
:P101_LOGIN
:P101_PASSWORD
:P101_PROPERTY

Как задействовать в Authentication Schemes использование третьего параметра?
На 101-й странице есть Process Login, в котором есть pl/sql код следующего содержания:
apex_authentication.login(
    p_username => :P101_USERNAME,
    p_password => :P101_PASSWORD);

Естественно при передаче ей (процедуре) третьего параметра выдается ошибка. Соответственно надо вписать туда что-то свое... Вписываю свою функцию аутентификации с параметрами - выдает ошибку
ORA-06550:...is not a procedure or is undefined

Что должна делать процедура/кусок кода в этом блоке, чтобы аутентификация заработала с тремя параметрами вместо двух?
27 июл 17, 08:24    [20678505]     Ответить | Цитировать Сообщить модератору
 Re: Своя Authentication Schemes  [new]
Рустамка
Member

Откуда:
Сообщений: 55
Задача решена.
Источник
В общем. Задача: Произвести авторизацию пользователя в приложении по трем параметрам учетной записи:
Item: P101_USERNAME - Text field - логин
Item: P101_PASSWORD - Password field - пароль
Item: P101_PROPERTY - Select list - третий параметр
Редактируя 101-ю страницу (страницу входа - Login Form) в разделе Page Processing => дерево Processing => редактируем процесс Login следующим образом:
declare
	ret_value number :=0;
begin
	ret_value := zahodi(UPPER(:P101_USERNAME),:P101_PASSWORD,:P101_PROPERTY);
    if (ret_value = 1) then
		wwv_flow_custom_auth_std.post_login (
			P_UNAME 	=> 	:P101_USERNAME,
			P_PASSWORD 	=>	:P101_PASSWORD,
			P_SESSION_ID 	=>	v('APP_SESSION'),
			P_FLOW_PAGE 	=>	:APP_ID||':1'
		);
...
    else 
    	owa_util.redirect_url('f?p=&APP_ID.:101:&SESSION.');
    end if;
end;

где:
zahodi() - ваша функция авторизации пользователей, в которую вы передаете 3 параметра. На выходе у функции может быть либо булево значение (по умолчанию, во всех мануалах) либо, как у меня - числовое.
А дальше, в зависимости от результата либо перенаправляете на нужную Вам страницу с помощью процедуры:
Процедура wwv_flow_custom_auth_std.post_login
:P101_USERNAME, :P101_PASSWORD, :P101_PROPERTY - значения из айтемов на форме входа.
v('APP_SESSION') - идентификатор сессии, полученный в ходе авторизации - генерируется системой.
:APP_ID - идентификатор (номер?) Вашего приложения - собирается из системы.
1 - идентификатор (номер?) страницы, на которую пользователь попадает после успешной авторизации.
Либо возвращаете на страницу входа с помощью процедуры:
Процедура owa_util.redirect_url
&APP_ID. - аналог :APP_ID
&SESSION. - аналог v('APP_SESSION')
101 - идентификатор (номер?) страницы входа (Login Form), на которую попадает пользователь в случае отказа в авторизации.
На что можно наткнуться:
Можно попасть в ситуацию, когда при любом возвращенном результате функции zahodi() пользователя будет перенаправлять на форму входа. Решается соблюдением условий формирования if - возьмите условие (ret_value = 1) в скобки ;-)
P.S.: Люблю я все таки этот форум - сам задаю вопрос, сам на него отвечаю, как и многие из присутствующих, вот только само решение выкладывают единицы :-P
31 июл 17, 12:56    [20687617]     Ответить | Цитировать Сообщить модератору
 Re: Своя Authentication Schemes  [new]
waran
Member

Откуда:
Сообщений: 10
Рустамка
P.S.: Люблю я все таки этот форум - сам задаю вопрос, сам на него отвечаю, как и многие из присутствующих, вот только само решение выкладывают единицы :-P


и не говори, на мой вопрос развели только срач и на этом вся помощь.
14 авг 17, 07:47    [20720723]     Ответить | Цитировать Сообщить модератору
 Re: Своя Authentication Schemes  [new]
blkangel
Member

Откуда:
Сообщений: 1664
waran
Рустамка
P.S.: Люблю я все таки этот форум - сам задаю вопрос, сам на него отвечаю, как и многие из присутствующих, вот только само решение выкладывают единицы :-P


и не говори, на мой вопрос развели только срач и на этом вся помощь.


А Вы читали вопрос? На чушь написанную автором, непонятно даже что и написать...
14 авг 17, 09:11    [20720818]     Ответить | Цитировать Сообщить модератору
 Re: Своя Authentication Schemes  [new]
Migelle
Member

Откуда:
Сообщений: 160
blkangel
А Вы читали вопрос? На чушь написанную автором, непонятно даже что и написать...

Эт точно.
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." (с) Р.Шекли "Верный вопрос"
14 авг 17, 10:20    [20721005]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle APEX Ответить