Regisztráció folyamata
Regisztrációs adatok ellenőrzése
Felhasználó vagy személy meglétének vizsgálata a kért felhasználói név és pénzügyi azonosító alapján:
--* INPUTS
--* -
--* RESULT
--* user_id integer, -- felhasználó azonosítója
--* user_name varchar, -- felhasználónév
--* user_person_id integer, -- a bejegyzett felhasználójához tartozó személy azonosítója
--* user_status varchar, -- felhasználó állapota
--* user_real_status varchar, -- a felhasználó állapota az érvényességet is figyelembe véve
--* outer_person_id integer, -- a nyilvántartott személy azonosítója
--* outer_person_person_id integer, -- a nyilvántartott személyhez tartozó személy azonosítója
--* email varchar, -- e-mail cím
--* outer_user_name varchar, -- igényelt felhasználói név
--* person_status varchar, -- személy állapota
--* person_regcode varchar, -- regisztrációs kód
--* person_regcode_timeout timestamp with time zone -- előregisztráció lejárati idej
--* is_user_name_conflict boolean -- van már ilyen felhasználó regisztrálva vagy előregisztráció alatt
--*
--* Hibakódok:
--* ukk_getinfo_outer_person_001 -- felhasználói név megadása kötelező
--* ukk_getinfo_outer_person_002 -- pénzügyi azonosító megadása kötelező
--* NOTES
--* Példa a használatára:
--* SELECT * FROM ukk.getinfo_outer_person('asztalos.andras','9999999999');
Regisztráció bejegyzése az adatbázisba
A regisztrációs felület kész, az adatbázisba írás menete a következő:
A regisztrációs űrlap helyes kitöltését követően meg kell jeleníteni, hogy
- sikeres volt a regisztráció,
- levelet kiküldtük, onnan tudja véglegesíteni.
Be kell írni a személy adatait az adatbázisba.
Személy beírása:
SELECT bob.create_person(
'ukk',
'ukk_start_modul',
1,
NULL,
'hu_HU',
1,
'András', -- first_name
'Asztalos', -- last_name
'Asztalos András', -- full_name
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
'hu_HU',
'hu_HU',
'csunya-nagy-hosszu-hexadecimalis-kod', -- regcode
'2015-07-01', -- regcode_timeout
NULL
);
Külső személy bejegyzése:
SELECT ukk.create_outer_person(
'ukk',
'ukk_outer_person',
1,
null,
'9999999999', -- financial_ident
17, -- person_id
'levelezes@rivendel.hu', -- email
'+36 99 999-9999', -- phone_number
'asztalos.andras', -- user_name
'Asztalos András', -- full_name
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL
);
Külső személy módosítása:
SELECT ukk.edit_outer_person(
'ukk',
'ukk_outer_person',
1,
NULL,
ou.eid,
ou.financial_ident,
17, -- person_id
'levelezes@rivendel.hu', -- email
'asztalos.andras', -- user_name
'+36 20 261-7979', -- phone_number
ou.full_name,
ou.sex,
ou.mothers_name,
ou.previous_name,
ou.birth_year,
ou.birth_day,
ou.birthplace,
ou.address,
ou.description
) FROM ukk.simplelist_outer_person() AS ou
WHERE ou.eid = ?; -- outer_person.eid
Ki kell küldeni az előregisztráció véglegesítését lehetővé tévő levelet
Benne egy linkkel ( …?mn=ukk_login&action=confirmation&rc=hosszu-ronda-hash-kod)
Ha kattint a linkre, akkor a regisztráció véglegesítése oldalra ugrik.
Előregisztráció visszaigazolásának ellenőrzése:
SELECT psn.person_id,
psn.person_regcode,
psn.person_regcode_timeout,
op.user_name,
CASE WHEN usr.user_name is null then false else true end as is_user_name_conflict
FROM bob.persons AS psn
JOIN ukk.simplelist_outer_person() AS op
ON (op.person_id = psn.person_id)
LEFT JOIN bob.users_active AS usr
ON (usr.person_id = psn.person_id)
WHERE psn.person_regcode = 'nagy-hosszu-hash-kod';
Regisztráció véglegesítése
Ehhez be kell kérni a jelszót (kétszer).
Ezután lehet véglegesíteni a felhasználót:
Felhasználó bejegyzése:
SELECT bob.create_user(
'bob',
NULL,
NULL,
personID,
'active',
now(),
NULL,
userName,
passWord,
2700,
'click',
true,
( SELECT rights.id FROM bob.rights, bob.moduls WHERE rights.modul_id = moduls.id AND moduls.modul_label = 'ukk_start_modul' AND rights.right_action = 'start' )
);
: a felhasználói név minimum 5 karakter kell legyen!
: a jelszó minimum 6 karakter kell legyen!
Felhasználó csoportba helyezése:
INSERT INTO bob.groups_users (
creation_time,
creation_user_id,
group_id,
user_id
) VALUES (
now(),
NULL,
( SELECT groups.id FROM bob.groups WHERE group_label = 'ukk_user' ),
userID
);
A folyamat végén a kezdőoldalára kell lépni (mn=start_modul&action=start)
Regisztráció folyamata:
- Belépési képernyőre kell egy link a regisztrációra
- Regisztráció esetén először meg kell adnia az akábbi adatokat:
- adószám megadása
- felhasználónév
- e-mail cím
- személy neve
- telefonszám
- Megnézzük, van-e ilyen adószám nyilvántartva. Ha van, akkor a újonnan bejegyzett személyt kötni kell hozzá (az adószámmal történő próba-regisztrációkat naplózzuk).
Ha nincs ilyen adószámmal felhasználó regisztrálva:
- bejegyezzük a felhasználót 'unregistered'-ként (azonosító hash-el)
- kiküldjük a "regisztráció megerősítése" e-mailt, benne a hash.
- ha a linkre kattint, akkor visszajut a megerősítő felületre, ahol ismételten meg kell adnia a felhasználói nevét
- ha egyezés van, akkor véglegesedik a regisztráció (user aktív), generálunk neki egy jelszót, amot be kell írni a felhasználóhoz, és e-mailben is megkapja. Ilyenkor automatikusan belépett a rendszerbe.
Ha nincs ilyen adószámmal felhasználó regisztrálva, de van ilyen e-mail cím vagy felhasználónév,
- akkor jelezni kell, hogy foglalt.
Ha van ilyen adószámmal felhasználó regisztrálva:
"A megadott adószámmal van már felhasználó regisztrálva a rendszerben.
Kérem ellenőrizze a megadott adószámot!
Kérhet [jelszó emlékeztetőt] vagy a megadott a megadott e-mail vagy telefonszámon jelezze."
Jelszó emlékeztető
Jelszó emlékeztetőnél meg kell adni az adószámot
és vagy az e-mail címet vagy a felhasználói nevet.
- Amennyiben szerepel ilyen pénzügyi azonosító a rendszerben és van ilyen felhasználó, úgy
- közöljük, hogy van ilyen felhasználónk;
- kérhet jelszóemlékeztetőt;
Ellenőrzéshez leírás:
http://nagyiemlekei.blog.hu/2010/01/19/adoszam_tajszam
trigger által ellenőrizendő esetek
- sessiont csak a 'registrator' BOB felhasználóhjoz rendelhet a 'registrator' nevű adatbázis felhasználó
- felhasználó csak olyan személyhez jegyezhető be, amelyik a 'regisztrator' által létrehozott személyhez tartozik
- a 'registrator' BOB felhasználó által bejegyzett felhasználóknak csak 'ukk_start_modul' / 'start' lehet a kezdőoldala
- a 'registrator' a
bob.groups_users
táblába csak az ukk_users
csoporthoz adhatja hozzá a felhasználókat