refactor: auth module

This commit is contained in:
Kristofers Solo 2023-10-30 22:30:56 +02:00
parent 4fc79bb16a
commit 6ac3a34127
11 changed files with 280 additions and 156 deletions

View File

@ -0,0 +1,16 @@
\parameterTable{}{IIDP09} % TODO: add title
{Biogrāfiskā informācija}
{IIDP09}
{
Reģistrēta lietotāja pievienotā profila informācija teksta formātā.
}
{
\begin{enumerate}
\item Simbolu virkne garumā līdz 512 simboliem;
\item Atļautie simboli: Unikoda lielie burti (Lu), mazie burti (Ll), virsraksta burti (Lt,) modifikatoru burti (Lm), citi burti (Lo), speciālie simboli.
\end{enumerate}
}
{
Dzimis ēteriskā meža sirdī, vienmēr biju noskaņots uz vējiem.
Jau no mazotnes parādīju iedzimtu spēju sazināties ar vēsmām un brāzmām, kas plūda cauri senajiem kokiem.
}

View File

@ -1,5 +1,7 @@
\subsubsection{Kopīgās funkcijas ievades / izvades datu prasības}
Apakšnodaļa ietver informāciju par funkciju parametriem, tai skaitā, nosaukumu, identifikatoru, aprakstu, prasībām un parametru vērtību piemēru, ja tas ir nepieciešams.
\setlength{\parindent}{0pt}
\input{./src/requirements/functional-requirements/IO-functions/parameter/index.tex}
\input{./src/requirements/functional-requirements/IO-functions/procedure/index.tex}
\setlength{\parindent}{1cm}

View File

@ -48,8 +48,8 @@ Pārskatamības dēļ DPD tika sadalīta divās daļās (skat \ref{fig:dpd-1.1}
\setcounter{rownum}{0}
\multirow{1}{2.1cm}{Reģistrācijas un pieteikšanās modulis} & Lietotāja reģistrācija & \hyperref[tab:mod-func-auth-reg]{\stepcounter{rownum}AMF\therownum} & Nereģistrēts lietotājs \\ \cline{2-4}
& Apstiprinājuma ziņas atkārtotās izsūtīšanas pieteikums & \hyperref[tab:mod-func-auth-app]{\stepcounter{rownum}AMF\therownum} & Nereģistrēts lietotājs, Reģistrēts lietotājs \\ \cline{2-4}
& Paroles atjaunošanas pieteikums & \hyperref[tab:mod-func-auth-pass-restore]{\stepcounter{rownum}AMF\therownum} & Reģistrēts lietotājs \\ \cline{2-4}
& Paroles atjaunošana & \hyperref[tab:]{\stepcounter{rownum}AMF\therownum} & Reģistrēts lietotājs \\ \cline{2-4}
& Paroles atjaunošanas pieteikums & \hyperref[tab:mod-func-auth-pass-restore-app]{\stepcounter{rownum}AMF\therownum} & Reģistrēts lietotājs \\ \cline{2-4}
& Paroles atjaunošana & \hyperref[tab:mod-func-auth-pass-restore]{\stepcounter{rownum}AMF\therownum} & Reģistrēts lietotājs \\ \cline{2-4}
& Lietotāja pieteikšanās & \hyperref[tab:mod-func-auth-login]{\stepcounter{rownum}AMF\therownum} & Reģistrēts lietotājs \\ \cline{2-4}
& Lietotāja atteikšanās & \hyperref[tab:mod-func-auth-logout]{\stepcounter{rownum}AMF\therownum} & Reģistrēts lietotājs \\ \cline{2-4}
& Lietotāja konta apstiprināšana & \hyperref[tab:mod-func-auth-email-confirm]{\stepcounter{rownum}AMF\therownum} & Reģistrēts lietotājs \\ \hline

View File

@ -4,83 +4,113 @@
{Lietotāja reģistrācija}
{AMF01}
{
Funkcijas mērķis ir izveidot lietotāja kontu tā identifikācijai, turpmākās autentifikācijas un lietotāja darbību autentifikācijai un sistēmas lietotāja informācijas uzglabāšanai.
Apstrādes procesā ievades dati tiek pārbaudīti attiecīgi noteiktajām prasībām, lai tie būtu jēdzīgi sistēmas kontekstā un atbilstu datubāzes uzglabātajiem formātiem.
Paroles šifrēšanas procesā tiek izmantota jaucējfunkcija ar papildus drošības līdzekli - ``sāls pievienošanu'' - nejaušu simbolu virknes pievienošanu pirms šifrēšanas.
Funkcijas mērķis ir reģistrēt lietotāja kontu sistēmā, autentifikācijas
procesam un lietotāja darbību autorizācijai, un lietotāja informācijas
uzglabāšanai. Apstrādes procesā ievades dati tiek pārbaudīti attiecīgi
noteiktajām prasībām. Paroles šifrēšanas procesā tiek izmantota
jaucējfunkcija ar papildus drošības metodiku - ``sāls pievienošanu'' -
nejaušu simbolu virknes pievienošanu pirms šifrēšanas procesa uzsākšanas.
}
{
Ievades dati tiek saņemti no nereģistrētiem lietotājiem pieejamās veidlapas. \\
Obligātie parametri:
\begin{enumerate}
\item Pilns vārds - simbolu virkne ar garumu līdz 50 simboliem, kas var saturēt burtciparu simbolus, defises un atstarpes.
\item Segvārds - simbolu virkne ar garumu no 6 līdz 20 simboliem, kas var saturēt burtciparu simbolus, skaitļus, defises, pasvītras, apostrofus.
\item E-pasta adrese - simbolu virkne ar garumu līdz 320 simboliem. Pieļautajiem simboliem un pieļaujamam formātam jāatbilst ``RFC 2822: Interneta ziņu formāts'' standarta prasībām.
\item Dzimšanas datums - datums formatēts kā simbolu virkne.
\item Parole - simbolu virkne ar garumu no 8 līdz 128 simboliem, kas var saturēt burtciparu simbolus, skaitļus, atstarpi, speciālos simbolus:
izsaukuma zīmi, dubultpēdiņas, skaitļa zīmi, dolāra zīmi, procenta zīmi, ampersandu, pēdiņas, iekavas, figūriekavas,
zvaigznīti, plusu, komatu, mīnusu, punktu, slīpsvītru, kolu, semikolu, salīdzinājuma zīmes, vienādības zīmi,
jautājuma zīmi, ``et'' zīmi, slīpsvītru, pasvītru, vertikālo joslu, tildi.
Minimālās drošības prasības: parole satur vismaz vienu lielo un mazo burtu, vienu ciparu.
\item Vārds, uzvārds;
\item Segvārds;
\item E-pasta adrese;
\item Parole;
\item Paroles apstiprinājums - simbolu virkne. kas atbilst iepriekš minētās paroles prasībām.
\end{enumerate}
Neobligātie parametri:
\begin{enumerate}
\item Profila attēls - attēla datne, kura paplašinājums ir viens no: JPEG, JPG, GIF, PNG, WEBP un izmērs nepārsniedz 1MB.
\item Biogrāfiskā informācija - simbolu virkne garumā līdz 300 simboliem.
\item Profila attēls;
\item Biogrāfiskā informācija.
\end{enumerate}
}
{
\begin{enumerate}
\item Pārbauda, vai visi obligātie lauki ir iesniegti.
Ja tie nav, iegūst sarakstu ar neazpildītajiem laukiem, parāda 1. paziņojumu.
\item Pārbauda, vai parole un paroles apstiprinājums sakrīt.
Ja nesakrīt, tad parāda 2. paziņojumu.
\item Pārbauda, vai pilns vārds, segvārds, e-pasta adrese, parole satur tikai pieļaujamos simbolus.
Ja nesatur, tad iegūst izmantotos neatļautos simbolus, tad parāda 3. paziņojumu ar attiecīgi laukiem un simboliem.
\item Pārbauda, vai pilns vārds, segvārds, e-pasta adrese, biografiskā informācija, parole nepārsniedz noteikto garumu.
Ja pārsniedz, tad iegūst pārsniegto garumu parametru sarakstu un parāda 4. paziņojumu ar attiecīgajiem laukiem un garumiem.
\item Pārbauda, vai parole atbilst noteiktiem drošības prasībām.
Ja tā tiem neatbilst, ta parāda 5. paziņojumu ar attiecīgām neizpildītajām prasībām.
\item Pārbauda, vai dzimšanas datums atbilst minimālam vecumam reģistrācijai.
Ja neatbilst, parāda 6. paziņojumu.
\item Ja tika iesniegta biogrāfiskā informācija, aizvieto salīdzinājuma zīmes, ampersantu, dubultpēdiņas un pēdiņas ar ekvivalentu.
\item Ja tika iesniegts attēls, tad pārbauda, vai datne atbilst atļautajiem datnes paplašinājumiem.
Ja neatbilst, parāda 7. paziņojumu ar atļautiem datnes paplašinājumiem.
\item Ja tika iesniegts attēls, tad pārbauda, vai datne nepārsniedz noteikto datnes lielumu.
Ja pārsniedz, parāda 8. paziņojumu ar iesniegtās datnes lielumu un maksimāli atļauto datnes lielumu.
Ja iesniegtā attēla paplašinājums nav PNG, tad datne tiek kovertēta šajā paplašinājumā.
\item Mēģina sameklēt datubāzē lietotājus ar ievadīto e-pastu vai segvārdu.
Ja tāds (/-i) pastāv, tad parāda 9. paziņojumu ar attiecīgo aizņemto lauku.
\item Pievieno parolei nejauši noģenerēto simbolu virki, šifrē paroli ar jaucējfunkciju.
\item Jauna lietotāja sagatavotie dati tiek ierakstīti datubāzē.
Ja ierakstīšana nenotiek, parādīt 10. paziņojumu.
\item Ģenerē e-pasta apstiprinājuma marķieri.
Izveido saiti apstiprinājumam, iekļaujot e-pasta apstiprinājuma marķieri.
\item Sagatavo e-pasta ziņas saturu no šablona, ievietojot tajā apstiprinājuma saiti.
\item Pārbauda, vai visi obligātie lauki ir iesniegti;
\begin{enumerate}
\item Ja tie nav, iegūst sarakstu ar neaizpildītajiem laukiem, parāda
1. paziņojumu. Beidz apstrādi.
\end{enumerate}
\item Pārbauda, vai parole un paroles apstiprinājums sakrīt;
\begin{enumerate}
\item Ja nesakrīt, tad parāda 2. paziņojumu. Beidz apstrādi.
\end{enumerate}
\item Pārbauda, vai pilns vārds, segvārds, e-pasta adrese, parole satur tikai pieļaujamos simbolus;
\begin{enumerate}
\item Ja nesatur, tad iegūst izmantotos neatļautos simbolus, tad parāda
3. paziņojumu ar attiecīgi laukiem un simboliem. Beidz apstrādi.
\end{enumerate}
\item Pārbauda, vai pilns vārds, segvārds, e-pasta adrese, biogrāfiskā informācija, parole nepārsniedz noteikto garumu;
\begin{enumerate}
\item Ja pārsniedz, tad iegūst pārsniegto garumu parametru sarakstu un
parāda 4. paziņojumu ar attiecīgajiem laukiem un garumiem. Beidz
apstrādi.
\end{enumerate}
\item Pārbauda, vai parole atbilst noteiktiem drošības prasībām;
\begin{enumerate}
\item Ja tā tiem neatbilst, tad parāda 5. paziņojumu ar attiecīgām
neizpildītajām prasībām. Beidz apstrādi.
\end{enumerate}
\item Pārbauda, vai dzimšanas datums atbilst minimālam vecumam reģistrācijai;
\begin{enumerate}
\item Ja neatbilst, parāda 6. paziņojumu. Beidz apstrādi.
\item Ja tika iesniegta biogrāfiskā informācija, tiek pielietota sanitizācija.
\item Ja tika iesniegts attēls, tad pārbauda, vai datne atbilst pieļaujamajiem datnes paplašinājumiem;
\item Ja neatbilst, parāda 7. paziņojumu ar atļautiem datnes paplašinājumiem. Beidz apstrādi.
\item Ja tika iesniegts attēls, tad pārbauda, vai datne nepārsniedz noteikto datnes lielumu;
\item Ja pārsniedz, parāda 8. paziņojumu ar iesniegtās datnes lielumu un maksimāli atļauto datnes lielumu. Beidz apstrādi.
\item Ja iesniegtā attēla paplašinājums nav PNG, tad datne tiek konvertēta šajā paplašinājumā.
\end{enumerate}
\item Meklē datubāzē lietotājus ar ievadīto e-pastu vai segvārdu;
\begin{enumerate}
\item Ja tāds (/-i) pastāv, tad parāda 9. paziņojumu ar attiecīgo
aizņemto lauku. Beidz apstrādi.
\end{enumerate}
\item Pievieno parolei nejauši ģenerēto simbolu virkni, šifrē paroli ar jaucējfunkciju;
\begin{enumerate}
\item Jauna lietotāja sagatavotie dati tiek ierakstīti datubāzē;
\item Ja ierakstīšana nenotiek, parādīt 10. paziņojumu. Beidz apstrādi.
\end{enumerate}
\item Ģenerē e-pasta apstiprinājuma marķieri. Sameklē lietotājus ar šo e-pasta apstiprinājuma marķieri;
\begin{enumerate}
\item Ja lietotājs tika atrasts, atkārto e-pasta apstiprinājuma ģenerēšanu un
lietotāju meklēšanu līdz marķieris ir unikāls.
\end{enumerate}
\item Izveido saiti apstiprinājumam, iekļaujot e-pasta apstiprinājuma marķieri;
\item Sagatavo e-pasta ziņas saturu no šablona, ievietojot tajā apstiprinājuma saiti;
\item Pieprasa e-pasta aizsūtīšanu.
Ja tā netiek apstiprināta, parāda 11. paziņojumu.
\begin{enumerate}
\item Ja tā netiek apstiprināta, parāda 10. paziņojumu. Beidz apstrādi.
\end{enumerate}
\end{enumerate}
}
{
Izvades datu mērķis ir noteikt, vai lietotājs tiks pāradresēts un kurā lapā lietotājs tiks pāradresēts.
Izvades datu mērķis ir noteikt, vai lietotājs tiks pāradresēts un uz kuru lapu lietotājs tiks pāradresēts.
Lietotāja saskarnē parādās 11. paziņojums ar instrukciju par e-pasta
apstiprināšanu.
\begin{enumerate}
\item Reģistrācijas apstiprinājuma stāvoklis - kods ar noteiktu stāvokli.
\end{enumerate}
}
{
\begin{enumerate}
\item Lauks: [neaizpildīto lauku saraksts] netika aizpildīts (/-i)!
\item Parole un paroles apstiprinājums nesakrīt!
\item {}[Parametra nosaukums] nedrīkst saturēt: [izmantoto parametra neatļauto simbolu saraksts]!
\item {}[Parametra nosaukums] nedrīkst pārsniegt [noteikto parametra maksimālo simbolu skaits]!
\item Parolei ir jāsatur: [neizpildīto paroles prasību saraksts]!
\item Minimālais vecums reģistrācijai: [noteitks minimālais vecums reģistrācijai].
\item Attēla datne ir aizliegts paplašinājums! Atļautie datnes paplašinājumi: [atļauto datnes paplašinājumu saraksts].
\item Attēļa datne pārsniedz maksimāli atļauto lielumu! Maksimāli atļautais lielums: [maksimāli atļautais lielums].
\item Lietotājs ar tādu [aizņemtā lauka nosaukums] jau eksistē!
\item Notika sistēmas iekšējā kļūda! Mēģiniet vēlreiz vēlāk!
\item Reģistrācija ir veiksmīga! Apstipriniet lietotāja kontu ar saiti, kas tiks aizsūtīta 1-10 minūšu laikā Jūsu norādītā e-pastā.
\item Lauks: [neaizpildīto lauku saraksts] netika aizpildīts (/-i)!;
\item Parole un paroles apstiprinājums nesakrīt!;
\item {}[Parametra nosaukums] nedrīkst saturēt: [izmantoto parametra neatļauto
simbolu saraksts]!;
\item {}[Parametra nosaukums] nedrīkst pārsniegt [noteikto parametra maksimālo
simbolu skaits]!;
\item Parolei ir jāsatur: [neizpildīto paroles prasību saraksts]!;
\item Minimālais vecums reģistrācijai: [noteikts minimālais vecums reģistrācijai];
\item Attēla datne ir aizliegts paplašinājums! Atļautie datnes paplašinājumi: [atļauto datnes paplašinājumu saraksts];
\item Attēla datne pārsniedz maksimāli atļauto lielumu! Maksimāli atļautais lielums: [maksimāli atļautais lielums];
\item Lietotājs ar tādu [aizņemtā lauka nosaukums] jau eksistē!;
\item Sistēmas iekšējā kļūda! Mēģiniet vēlreiz vēlāk!;
\item Reģistrācija ir veiksmīga! Apstipriniet lietotāja kontu ar saiti, kas tiks izsūtīta tuvākā laikā e-pastā.
\end{enumerate}
}

View File

@ -4,41 +4,48 @@
{Apstiprinājuma ziņas atkārtotās izsūtīšanas pieteikums}
{AMF02}
{
Funckijas mērķis ir izsūtīt e-pasta apstiprinājumu atkārtoti lietotājam, kas jau veica reģistrāciju
Funkcijas mērķis ir izsūtīt e-pasta apstiprinājumu atkārtoti lietotājam, kas jau veica reģistrāciju vai reģistrācijas laikā, vai pēc e-pasta izmaiņas lietotāja kontā.
}
{
Ievades dati tiek iegūti no veidlapas datiem, kas tiek aizpildīta automātiski, ja lietotājs veic reģistrācijas procesu.
Ievaddati tiek iegūti no darbības - klikšķis uz attiecīgo apstiprinājuma pieteikuma pogu reģistrācijas laikā vai lietotāja konta rediģēšanas lapā.
Obligātie parametri:
\begin{enumerate}
\item Lietotāja identifikators - sistēmā izmantots lietotāja identifikators - vesels pozitīvs skaitlis skaitlis, kas atbilst datubāzē glabājamā skaitliska identifikatora diapazonam.
\item Lietotāja identifikators - sistēmā izmantots lietotāja identifikators, kas atbilst IIDP10.
\end{enumerate}
}
{
\begin{enumerate}
\item Pārbauda, vai identifikators atbilst paredzētajam datu tipam.
Ja neatbilst parāda 1. paziņojumu.
\item Meklē lietotāju datubāzē pēc ievades datu identifikatora parametra.
Ja tāds lietotājs neeksistē, parāda 1. paziņojumu.
\item Iegūst no datubāzes atrastā lietotāja tā e-pasta adresi.
\item Iegūst atrastā lietotāja tā e-pasta adresi.
\item Ģenerē e-pasta apstiprinājuma marķieri.
Izveido saiti apstiprinājumam, iekļaujot e-pasta apstiprinājuma marķieri.
\item Sagatavo e-pasta ziņas saturu no šablona, ievietojot tajā apstiprinājuma saiti.
\item Pieprasa e-pasta aizsūtīšanu.
Ja tā netiek apstiprināta, parāda 1. paziņojumu.
\item Ja e-pasta ziņas aizsūtīšana ir apstiprināta, parāda 2. paziņojumu.
\item Pārbauda, vai identifikators atbilst paredzētajam datu tipam;
\begin{enumerate}
\item Ja neatbilst parāda 1. paziņojumu. Beidz apstrādi.
\end{enumerate}
\item Meklē lietotāju datubāzē pēc ievades datu identifikatora parametra;
\begin{enumerate}
\item Ja tāds lietotājs neeksistē, parāda 1. paziņojumu. Beidz apstrādi.
\end{enumerate}
\item Iegūst no datubāzes atrastā lietotāja tā e-pasta adresi;
\item Iegūst atrastā lietotāja tā e-pasta adresi;
\item Ģenerē e-pasta apstiprinājuma marķieri. Izveido saiti apstiprinājumam, iekļaujot e-pasta apstiprinājuma marķieri;
\item Sagatavo e-pasta ziņas saturu no šablona, ievietojot tajā apstiprinājuma saiti;
\item Pieprasa e-pasta aizsūtīšanu;
\begin{enumerate}
\item Ja tā netiek apstiprināta, parāda 1. paziņojumu. Beidz apstrādi.
\item Ja e-pasta ziņas aizsūtīšana ir apstiprināta, parāda 2. paziņojumu. Beidz apstrādi.
\end{enumerate}
\end{enumerate}
}
{
Izvades datu mērķis ir noteikt, vai lietotājs tiks pāradresēts un kurā lapā lietotājs tiks pāradresēts.
Izvades datu mērķis ir lietotāja informēšana par apstiprinājuma ziņojuma izsūtīšanas stāvokli.
Lietotāja saskarnē parādās 3. paziņojums ar instrukciju par e-pasta apstiprināšanu.
\begin{enumerate}
\item E-pasta apstiprinājuma ziņas izsūtīšanas stāvoklis - kods ar noteiktu stāvokli.
\end{enumerate}
}
{
\begin{enumerate}
\item Sistēmas iekšējā kļūda! Mēģiniet pārlādēt lapu vai mēģiniet vēlāk!
\item Apstiprinājuma ziņa tiks izsūtīta 1-10 minūšu laikā.
\item Sistēmas iekšējā kļūda! Mēģiniet pārlādēt lapu vai mēģiniet vēlāk!;
\item Apstiprinājuma ziņa tiks izsūtīta 1-10 minūšu laikā;
\item Apstiprinājuma ziņa ir izsūtīta! Apstipriniet lietotāja kontu ar saiti, kas tiks izsūtīta tuvākā laikā e-pastā.
\end{enumerate}
}

View File

@ -1,49 +1,45 @@
\moduleFunctionTable
{Paroles atjaunošanas pieteikums}
{mod-func-auth-pass-restore}
{mod-func-auth-pass-restore-app}
{Paroles atjaunošanas pieteikums}
{AMF03}
{
Funkcijas mērķis ir ļaut lietotājam atjaunot aizmirsto vai kompromitēto paroli, nodrošinot drošu paroles maiņas procesu, kas ietver unikāla marķiera izveidi, tā nosūtīšanu lietotāja e-pastā un tā pārbaudi.
Funkcijas mērķis ir ļaut lietotājam atjaunot aizmirstu vai nedrošu paroli, nodrošinot drošu paroles maiņas procesu, kas ietver unikāla marķiera izveidi, tā nosūtīšanu lietotāja e-pastā un tā verifikāciju.
}
{
Obligātie parametri:
Ievades dati tiek saņemti no ievades lauciņiem, pieejami autentificētiem un neautentificētiem lietotājiem.
\begin{enumerate}
\item E-pasta adrese - simbolu virkne, kas atbilst ``RFC 2822: Interneta ziņu formāts'' standarta prasībām.
\end{enumerate}
}
{
\begin{enumerate}
\item Pārbauda, vai e-pasta adrese eksistē datubāzē.
Ja nē, parāda 1. paziņojumu.
\item Ģenerē unikālu marķieri paroles atjaunošanai.
\item Ieraksta jaunu marķieri lietotāja ierakstam, pievienojot tam derīguma laiku.
\item Izveido saiti paroles atjaunošanai, iekļaujot marķieri.
\item Nosūta saiti uz lietotāja e-pasta adresi.
\item Lietotājs atver saiti.
\item Pārbauda, vai saitē iekļautais marķieris ir derīgs un nav novecojis.
Ja nederīgs vai novecojis, parāda 2. paziņojumu.
\item Atver paroles atjaunošanas veidlapu.
\item Lietotājs ievada jauno paroli.
\item Pārbauda, vai jaunā parole atbilst drošības prasībām.
Ja nē, parāda 3. paziņojumu.
\item Paroles šifrēšanas procesā tiek izmantota jaucējfunkcija ar ``sāls pievienošanu.''
\item Saglabā jauno paroli datubāzē un parāda 4. paziņojumu.
\item Atzīmē veco marķieri kā izmantotu.
\end{enumerate}
}
{
\begin{enumerate}
\item Paroles atjaunošanas stāvoklis - kods ar noteiktu stāvokli.
\end{enumerate}
Ievaddati tiek iegūti no veidlapas.
Obligātie parametri:
\begin{enumerate}
\item E-pasta adrese - simbolu virkne, kas atbilst “RFC 2822: Interneta ziņu formāts” standarta prasībām.
\end{enumerate}
}
{
\begin{enumerate}
\item E-pasta adrese nav reģistrēta!
\item Saitei ir beidzies derīguma termiņš!
\item Parolei ir jāsatur: [neizpildīto paroles prasību saraksts]!
\item Paroles atjaunošana veiksmīga.
\item Pārbauda, vai e-pasta adrese eksistē datubāzē, meklējot lietotāju ar sakrītošu e-pasta adresi;
\begin{enumerate}
\item Ja tāds lietotājs jau eksistē, parāda 1. paziņojumu. Beidz apstrādi.
\end{enumerate}
\item Ģenerē unikālu marķieri paroles atjaunošanai, pārbaudot unikalitāti, meklējot lietotāju ar sakrītošu un derīgu marķieri;
\begin{enumerate}
\item Ja tāds lietotājs eksistē, atkārto ģenerāciju līdz iegūtais marķieris ir unikāls.
\end{enumerate}
\item Ieraksta jaunu marķieri lietotāja, kas atjauno paroli, ierakstam, pievienojot tam noteikto derīguma laiku;
\item Izveido saiti paroles atjaunošanai, iekļaujot marķieri;
\item Nosūta saiti uz lietotāja e-pasta adresi.
\end{enumerate}
}
{
Izvades datu mērķis ir lietotāja informēšana par paroles atjaunošanas pieteikuma ziņas izsūtīšanas stāvokli. Lietotāja saskarnē parādās 4. paziņojums.
\begin{enumerate}
Paroles atjaunošanas pieteikuma stāvoklis - kods ar noteiktu stāvokli.
\end{enumerate}
}
{
\begin{enumerate}
\item E-pasta adrese jau ir reģistrēta!;
\item Saitei ir beidzies derīguma termiņš!;
\item Parolei ir jāsatur: [neizpildīto paroles prasību saraksts]!;
\item Apstiprinājuma ziņa ir izsūtīta! Apstipriniet lietotāja kontu ar saiti, kas tiks izsūtīta tuvākā laikā e-pastā.
\end{enumerate}
}

View File

@ -0,0 +1,56 @@
\moduleFunctionTable
{Paroles atjaunošana}
{mod-func-auth-pass-restore}
{Paroles atjaunošana}
{AMF04}
{
Funkcijas mērķis ir ļaut lietotājam atjaunot aizmirstu vai nedrošu paroli, nodrošinot drošu paroles maiņas procesu, kas ietver unikāla marķiera izveidi, tā nosūtīšanu lietotāja e-pastā un tā pārbaudi.
}
{
Ievaddati tiek iegūti no apstiprinājuma vietrādes parametriem ar kuru lietotājs piekļūst sistēmas funkcijai.
Obligātie parametri:
\begin{enumerate}
\item Lietotāja paroles atjaunošanas marķieris - 16 simbolu gara virkne, kas tiek iegūta no saites parametriem;
\item Lietotāja jaunā parole - atbilst \hyperref[tab:IIDP06]{IIDP06};
\item Lietotāja jaunās parole apstiprinājums - atbilst \hyperref[tab:IIDP06]{IIDP06}.
\end{enumerate}
}
{
\item Ja lietotāja paroles identifikatora atjaunošanas marķieris nav iesniegts, parāda 1. paziņojumu. Beidz apstrādi;
\item Sameklē lietotāja ierakstu datubāzē, meklējot to pēc atjaunošanas marķiera;
\begin{enumerate}
\item Ja lietotāja ieraksts netika atrasts, parāda 2. paziņojumu. Beidz apstrādi;
\item Pārbauda, vai saitē iekļautais marķieris ir derīgs un nav novecojis. Ja tas ir nederīgs vai novecojis, parāda 2. paziņojumu. Beidz apstrādi.
\end{enumerate}
\item Pārbauda, vai parole un paroles apstiprinājums ir iesniegts;
\begin{enumerate}
\item Ja kāds no laukiem nav iesniegts parāda 4. paziņojumu ar attiecīgo lauku nosaukumiem.
\end{enumerate}
\item Pārbauda, vai jaunā parole atbilst drošības prasībām;
\begin{enumerate}
\item Ja nē, parāda 5. paziņojumu ar neizpildīto prasību sarastu. Beidz apstrādi.
\end{enumerate}
\item Pievieno parolei sāls simbolu virkni, šifrē paroli ar jaucējfunkciju;
\item Ieraksta marķiera derīguma termiņu pamaina uz tagadējo laiku;
\item Atjaunoto lietotāja ierakstu ieraksta datubāzē.
\begin{enumerate}
\item Ja ierakstīšana neizdevās, parāda 3. paziņojumu.
\end{enumerate}
}
{
Izvades datu mērķis ir lietotāja informēšana par paroles atjaunošanas stāvokli. Lietotāja saskarnē parādās 6. paziņojums.
\begin{enumerate}
\item Paroles atjaunošanas stāvoklis - kods ar noteiktu stāvokli.
\end{enumerate}
}
{
\begin{enumerate}
\item Paroles atjaunošanas marķieris nav norādīts!
\item Paroles atjaunošanas marķieris nav derīgs!
\item Sistēmas kļūda! Mēģiniet vēlreiz vēlāk!
\item Lauks: [neaizpildīto lauku saraksts] netika aizpildīts (/-i)!
\item Parolei ir jāsatur: [neizpildīto paroles prasību saraksts]!
\item Paroles atjaunošana ir veiksmīga!
\end{enumerate}
}

View File

@ -11,38 +11,49 @@
Obligātie parametri:
\begin{enumerate}
\item E-pasta adrese vai segvārds - simbolu virkne, kas tiek pārbaudīta uz atbilstību e-pasta adreses formātam, kam jāatbilst ``RFC 2822: Interneta ziņu formāts'' standarta prasībām.
Ja tā neabilst, tad tai jāatbilst sekojošām prasībām: simbolu virkne ar garumu no 6 līdz 20 simboliem, kas var saturēt burtciparu simbolus, skaitļus, defises, pasvītras, apostrofus.
\item Parole - simbolu virkne ar garumu no 8 līdz 128 simboliem, kas var saturēt burtciparu simbolus, skaitļus, atstarpi, speciālos simbolus:
izsaukuma zīmi, dubultpēdiņas, skaitļa zīmi, dolāra zīmi, procenta zīmi, ampersandu, pēdiņas, iekavas, figūriekavas,
zvaigznīti, plusu, komatu, mīnusu, punktu, slīpsvītru, kolu, semikolu, salīdzinājuma zīmes, vienādības zīmi, jautājuma zīmi, ``at'' zīmi, slīpsvītru, pasvītru, vertikālo joslu, tildi.
\item E-pasta adrese vai segvārds - simbolu virkne, kas tiek pārbaudīta uz atbilstību e-pasta adreses formātam, kam jāatbilst ``RFC 2822: Interneta ziņu formāts'' standarta prasībām;
\item Ja tā neatbilst, tad tai jāatbilst sekojošām prasībām: simbolu virkne ar garumu no 6 līdz 20 simboliem, kas var saturēt burtciparu simbolus, skaitļus, defises, pasvītras, apostrofus.
\item Parole - simbolu virkne ar garumu no 8 līdz 128 simboliem, kas var saturēt burtciparu simbolus, skaitļus, atstarpi, speciālos simbolus: izsaukuma zīmi, dubultpēdiņas, skaitļa zīmi, dolāra zīmi, procenta zīmi, ampersandu, pēdiņas, iekavas, figūriekavas, zvaigznīti, plusu, komatu, mīnusu, punktu, slīpsvītru, kolu, semikolu, salīdzinājuma zīmes, vienādības zīmi, jautājuma zīmi, ``et'' zīmi, slīpsvītru, pasvītru, vertikālo joslu, tildi.
\end{enumerate}
}
{
\begin{enumerate}
\item Pārbauda, vai e-pasta adrese vai segvārds un parole satur tikai pieļaujamos simbolus.
Ja nesatur, tad iegūst izmantotos neatļautos simbolus, tad parāda 1. paziņojumu ar laukiem un simboliem.
\item Pārbauda, vai e-pasta adrese vai un parole nepārsniedz noteikto garumu.
Ja satur, tad iegūst pārsniegto garumu parametru sarakstu un parāda 2. paziņojumu ar laukiem un garumiem.
\item Iegūst lietotāja autorizācijas datus no datubāzes, meklējot lietotājus pēc segvārda vai e-pasta adreses.
Ja tāds lietotājs netika atrasts, parāda 3. paziņojumu.
\item Pievieno ievades datu parolei datubāzē glabājamāi sāls simbolu virkni.
\item Pārbauda, vai lietotāja sniegtā paroles jaucējfunkcijas rezultāts sakrīt ar datubāzē glabātu vērtību.
Ja paroles jaucējfunkcijas rezultāts nesakrīt ar datubāzē glabāto vērtību, parāda 4. paziņojumu.
\item Ja sakrīt, ģenerē lietotāja sesijas marķieri.
\item Pārbauda vai visi lauki ir aizpildīti.
\begin{enumerate}
\item Ja kāds no laukiem nav aizpildīts, tad parāda 1. paziņojumu.
\end{enumerate}
\item Pārbauda, vai e-pasta adrese vai segvārds un parole satur tikai pieļaujamos simbolus;
\begin{enumerate}
\item Ja satur, tad iegūst izmantotos neatļautos simbolus, tad parāda 2. paziņojumu ar laukiem un simboliem. Beidz apstrādi.
\end{enumerate}
\item Pārbauda, vai e-pasta adrese vai un parole nepārsniedz noteikto garumu;
\begin{enumerate}
\item Ja satur, tad iegūst pārsniegto garumu parametru sarakstu un parāda 3. paziņojumu ar laukiem un garumiem. Beidz apstrādi.
\end{enumerate}
\item Iegūst lietotāja autentifikācijas datus no datubāzes, meklējot lietotājus pēc segvārdu vai e-pasta adreses;
\begin{enumerate}
\item Ja tāds lietotājs netika atrasts, parāda 4. paziņojumu. Beidz apstrādi.
\end{enumerate}
\item Pievieno ievades datu parolei sāls simbolu virkni;
\item Pārbauda, vai lietotāja sniegtā paroles jaucējfunkcijas rezultāts sakrīt ar datubāzē glabātu vērtību;
\begin{enumerate}
\item Ja paroles jaucējfunkcijas rezultāts nesakrīt ar datubāzē glabāto vērtību nesakrīt, parāda X paziņojumu. Beidz apstrādi.
\end{enumerate}
\item Ja sakrīt, ģenerē lietotāja sesijas marķieri. Saglabā marķieri kā sīkdatni lietotāja pārlūkprogrammas datu krātuvē.
\end{enumerate}
}
{
Izvades datu mērķis ir noteikt, vai lietotājs tiks pāradresēts un kurā lapā lietotājs tiks pāradresēts, un ierakstīt sesijas marķieri lietotāja pārlūkprogrammas datu krātuvē.
Izvades datu mērķis ir noteikt, vai lietotājs tiks pāradresēts un kurā lapā lietotājs tiks pāradresēts.
Lietotāja saskarnē lietotājs tiek pāradresēts uz autentificēto lietotāju sākuma lapu.
\begin{enumerate}
\item Reģistrācijas apstiprinājuma stāvoklis - kods ar noteiktu stāvokli.
\item Lietotāja sesijas marķieris.
\item Paroles atjaunošanas stāvoklis - kods ar noteiktu stāvokli.
\end{enumerate}
}
{
\begin{enumerate}
\item {}[Parametra nosaukums] nedrīkst saturēt: [izmantoto parametra neatļauto simbolu saraksts]!
\item {}[Parametra nosaukums] nedrīkst pārsniegt [noteikto parametra maksimālo simbolu skaits]!
\item {}Lietotājs ar šādu segvārdu vai e-pastu netika atrasts vai parole nav pareiza!
\item Lauks: [neaizpildīto lauku saraksts] netika aizpildīts (/-i)!;
\item {}[Parametra nosaukums] nedrīkst saturēt: [izmantoto parametra neatļauto simbolu saraksts]!;
\item {}[Parametra nosaukums] nedrīkst pārsniegt [noteikto parametra maksimālo simbolu skaits]!;
\item Lietotājs ar šādu segvārdu vai e-pastu netika atrasts vai parole nav pareiza!
\end{enumerate}
}

View File

@ -4,28 +4,30 @@
{Lietotāja atteikšanās}
{AMF06}
{
Funkcijas mērķis ir beigt lietotāja pārlūkprogrammas asociāciju ar noteiktu lietotāju kontu.
Funkcijas mērķis ir pārtraukt lietotāja pārlūkprogrammas sasaisti ar noteiktu lietotāju kontu.
}
{
Ievades dati tiek saņemti no lietotāja pārlūkprogrammas.
Ievades dati tiek saņemti no lietotāja - klikšķis uz atteikšanās pogu.
Obligātie parametri:
\begin{enumerate}
\item Lietotāja sesijas marķieris - 16 simbolu gara virkne, kas tiek glabāta lietotāja pārlūkprogrammā.
\end{enumerate}
}
{
\begin{enumerate}
\item No lietotāja pārlūkprogrammas tiek iegūts sesijas marķieris.
\item Ja sesijas marķieris eksistē, tas tiek izdzēsts.
Lietotājs tiek pāradresēts uz mājaslapas sākuma lapu.
\item No lietotāja pārlūkgrammas tiek iegūts sesijas marķieris;
\item Ja sesijas marķieris eksistē, tas tiek izdzēsts. Lietotājs tiek pāradresēts uz mājaslapas sākuma lapu.
\begin{enumerate}
\item Ja marķiera izdzēšana nav veiksmīga. Parāda 1. paziņojumu.
\end{enumerate}
\end{enumerate}
}
{
Izvades datu mērķis ir noteikt, vai lietotājs tiks pāradresēts un kurā lapā lietotājs tiks pāradresēts.
Izvades datu funkcijai nav. Lietotājs tiek pāradresēts mājaslapas sākuma lapā.
}
{
\begin{enumerate}
\item Atteikšanās apstiprinājuma stāvoklis - kods ar noteiktu stāvokli.
\item Atteikšanās neizdevās! Mēģiniet pārlādēt lapu vai mēģiniet vēlāk!
\end{enumerate}
}
{}

View File

@ -4,10 +4,10 @@
{Lietotāja konta apstiprināšana}
{AMF07}
{
Funkcijas mērķis ir apstiprināt lietotāja konta e-pasta adrese, i.e., apstiprināt to, ka lietotājam pieder tā norādītā e-pasta adrese.
Funkcijas mērķis ir apstiprināt lietotāja konta e-pasta adresi, i.e., apstiprināt to, ka lietotājam pieder norādītā e-pasta adrese.
}
{
Ievaddati tiek iegūti no apstiprinājuma vietrādes parametriem, ar kuras lietotājs piekļūst sistēmas funkcijai.
Ievaddati tiek iegūti no apstiprinājuma vietrādes parametriem, ar kuras lietotājs piekļūst funkcijai.
Obligātie parametri:
\begin{enumerate}
@ -16,30 +16,32 @@
}
{
\item Pārbauda, vai ievades datos ir e-pasta apstiprinājuma marķieris;
\begin{enumerate}
\item Pārbauda, vai ievades datos ir e-pasta apstiprinājuma marķieris.
Ja tā nav, tad parāda 1. paziņojumu.
\item Pārbauda, vai e-pasta adreses apstiprinājuma marķieris atbilst sagaidāmam garumam.
Ja neatbilst, parāda 2. paziņojumu.
\item Meklē datubāzē lietotājus ar iesniegto marķieri.
Ja tāds lietotājs netiek atrasts, parāda 3. paziņojumu.
Ja datubāzē atrastā lietotāja e-pasta apstiprināšanas karodziņš apzīmē apstiprinātu e-pastu, parāda 4. paziņojumu.
\item Attiecīgā datubāzes ierakstam pamaina karodziņa stāvokli uz apstiprinātu.
\item Ja tā nav, tad parāda 1. paziņojumu. Beidz apstrādi.
\end{enumerate}
\item Pārbauda, vai e-pasta adreses apstiprinājuma marķieris atbilst sagaidāmam garumam;
\begin{enumerate}
\item Ja neatbilst, parāda 2. paziņojumu. Beidz apstrādi.
\end{enumerate}
\item Meklē datubāzē lietotājus ar iesniegto marķieri;
\begin{enumerate}
\item Ja tāds lietotājs netiek atrasts, parāda 2. paziņojumu. Beidz apstrādi;
\item Ja datubāzē atrastā lietotāja e-pasta apstiprināšanas karodziņš apzīmē apstiprinātu e-pastu, parāda 3. paziņojumu. Beidz apstrādi.
\end{enumerate}
\item Ierakstam pamaina karodziņa stāvokli uz kodu, kas atbilst apstiprinātam stāvoklim un rediģētu ierakstu ieraksta datubāzē.
}
{
Izvades datu mērķis ir noteikt, vai lietotājs tiks pāradresēts.
Izvades datu mērķis ir lietotāja informēšana par konta apstiprināšanas stāvokli. Lietotājam tiek parādīts 4. paziņojums.
\begin{enumerate}
\item E-pasta adreses apstiprinājuma stāvoklis - kods ar noteiktu stāvokli.
\end{enumerate}
}
{
\begin{enumerate}
\item Apstiprināšanas saite nav korekta: marķieris nav norādīts! Mēģiniet vēlreiz vai pieprasiet atkārtotu apstiprinājuma ziņas izsūtīšanu!
\item Apstiprināšanas saite nav korekta: marķieris nav korekts! Mēģiniet vēlreiz vai pieprasiet atkārtotu apstiprinājuma ziņas izsūtīšanu!
\item Marķieris nav aktuāls vai nav korekts! Mēģiniet vēlreiz vai pieprasiet atkārtotu apstiprinājuma ziņas izsūtīšanu!
\item E-pasts jau ir apstiprināts!
\item Apstiprināšanas saite nav korekta: marķieris nav norādīts! Mēģiniet vēlreiz vai pieprasiet atkārtotu apstiprinājuma ziņas izsūtīšanu!;
\item Marķieris nav aktuāls vai nav korekts! Mēģiniet vēlreiz vai pieprasiet atkārtotu apstiprinājuma ziņas izsūtīšanu!;
\item E-pasts jau ir apstiprināts!;
\item E-pasts ir veiksmīgi apstiprināts!
\end{enumerate}
}

View File

@ -1,3 +1,4 @@
\setlength{\parindent}{0pt}
\input{./src/requirements/functional-requirements/modules/auth/index.tex}
\input{./src/requirements/functional-requirements/modules/user/index.tex}
\input{./src/requirements/functional-requirements/modules/premium-user/index.tex}
@ -7,3 +8,4 @@
\input{./src/requirements/functional-requirements/modules/game-progress/index.tex}
\input{./src/requirements/functional-requirements/modules/game-role/index.tex}
\input{./src/requirements/functional-requirements/modules/game-setup/index.tex}
\setlength{\parindent}{1cm}