Oracle функция Apex для отправки пользователям возможность установить пароль - PullRequest
0 голосов
/ 28 апреля 2020

Я разрабатываю приложение для оформления билетов и использую пользовательскую аутентификацию с использованием функции ниже.

create or replace FUNCTION f_val_leave_user_issue(p_username IN VARCHAR2,
                                            p_password IN VARCHAR2)
  RETURN BOOLEAN IS
  lv_char CHAR(1);
  lv_cnt NUMBER;
BEGIN
  SELECT 'x'
  INTO   lv_char
  FROM   p_it_people
  WHERE  upper(p_username) = upper(person_username)
  AND    p_password = person_password;
  apex_util.set_authentication_result(0);
  RETURN TRUE;

EXCEPTION
  WHEN OTHERS THEN
    apex_util.set_authentication_result(4);
    RETURN FALSE;
END f_val_leave_user_issue;

На данный момент имя пользователя и пароль берутся из таблицы p_it_people, которую я использую на своей странице входа в систему.

Могу ли я настроить его так, чтобы каждый раз, когда в p_it_people создавался новый пользователь, ему предлагалось установить свой собственный пароль, а после установки этот пароль автоматически сохранялся в таблице p_it_people ??

1 Ответ

1 голос
/ 09 мая 2020

Необходимо следить за тем, чтобы пароли в базе данных не сохранялись в виде открытого текста. Я рекомендую прочитать это сообщение в блоге: https://blogs.oracle.com/apex/custom-authentication-and-authorization-using-built-in-apex-access-control-a-how-to

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

Сброс пароля просто позволяет конечному пользователю изменить свой сохраненный пароль ha sh.

...