powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Активация учётной записи, реализация
4 сообщений из 4, страница 1 из 1
Активация учётной записи, реализация
    #37504485
SimbaRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть сайт на APEX. Реализована регистрация учётных записей.
Как реализовать механизм активации учётных записей посредством e-mail/мобильного телефона?
Разумеется, не код прошу. Подскажите, где можно об этом почитать? Как устроена логика?
...
Рейтинг: 0 / 0
Активация учётной записи, реализация
    #37504775
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SimbaRu,

А что смущает?
Для отправки почты есть множество пакетов, utl_smtp, utl_mail, apex_mail, я исполльзую CES package...
+Зашифровать пользовательский идентификатор в ссылке, по которым производить активацию, тем же md5 или чем другим
Далее ссылка в браузере/процесс в апексе, сравнивает хеш c уже имеющимися,
Например, сделать пару индексов, типа md5_alg(to_char(ID), 'PARAM2'), для быстрого поиска

Ну и все. С мобильными телефонами не делал. Там скорее всего через теже емайлы, но механизм само-собой уже другой.
Для приёма и парса емайлов я вот это использую
http://plsqlmailclient.sourceforge.net/
...
Рейтинг: 0 / 0
Активация учётной записи, реализация
    #37507891
SimbaRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Правильно ли будет выполнять автоматическое удаление неактивированных аккаунтов таким образом?
Запускаем джоб (выполняется раз в сутки в полночь), который, в свою очередь, будет запускать процедуру проверки и удаления списка аккаунтов.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
declare x number;
begin
dbms_job.submit
( job => x 
,what => 'myp_delacc;'
,next_date => to_date('03.11.2011 00:00', 'dd.mm.yyyy hh24:mi')
,interval => 'sysdate + 1'
);
commit;
end;
Сама процедура (определяем минимальный и максимальный id, запускаем по ним цикл, если дата выполнения превышает дату удаления, то аккаунт уничтожается):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
create or replace procedure myp_delacc is
  deldate date;
  i number;
  k number;
begin
  select min(id) into i from myt_customers;
  select max(id) into k from myt_customers;
  while (i <= k) loop
    select todel into deldate from myt_customers where i = id;
    if sysdate > deldate then
      delete from myt_customers where i = id;
    end if;
    i := i +  1 ;
  end loop;
end;
В чём, собственно, вопрос. Верный ли ход мыслей или это глупо и реализуется более правильно?
В литературе прочёл, что начиная с oracle 10g пакет джоб заменён на встроенный dbms_scheduler и желательно использовать второй. Так ли это?
...
Рейтинг: 0 / 0
Активация учётной записи, реализация
    #37509394
Хтото
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SimbaRuСама процедура (определяем минимальный и максимальный id, запускаем по ним цикл, если дата выполнения превышает дату удаления, то аккаунт уничтожается):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
create or replace procedure myp_delacc is
  deldate date;
  i number;
  k number;
begin
  select min(id) into i from myt_customers;
  select max(id) into k from myt_customers;
  while (i <= k) loop
    select todel into deldate from myt_customers where i = id;
    if sysdate > deldate then
      delete from myt_customers where i = id;
    end if;
    i := i +  1 ;
  end loop;
end;
В чём, собственно, вопрос. Верный ли ход мыслей или это глупо и реализуется более правильно?
вау! это ж надо было такого наворотить.... Ваша процедура с успехом заменятся одним DML:
Код: plaintext
delete from myt_customers where sysdate > todel
отучайтесь мыслить циклами.

SimbaRuВ литературе прочёл, что начиная с oracle 10g пакет джоб заменён на встроенный dbms_scheduler и желательно использовать второй. Так ли это?
это почти так. действительно, настоятельно рекомендуется использовать dbms_scheduler, но dbms_job никуда не делся. остался для обратной совместимости.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Активация учётной записи, реализация
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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