Changes between Initial Version and Version 1 of UseCase0001


Ignore:
Timestamp:
09/17/26 01:57:20 (2 weeks ago)
Author:
201178
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UseCase0001

    v1 v1  
     1= UseCase0001 - Најава на корисник =
     2
     3'''Актер иницијатор:''' Ненајавен корисник
     4
     5'''Други актери:''' нема
     6
     7== Опис ==
     8
     9Корисникот внесува корисничко име и лозинка за да се најави во системот. Системот проверува дали постои таков корисник, дали е активен и дали лозинката е точна. Доколку е успешно, се креира сесија и корисникот се пренасочува кон главниот екран зависно од неговата улога.
     10
     11== Сценарио ==
     12
     13 1. Корисникот отвора ја апликацијата и се прикажува екранот за најава.
     14 2. Корисникот внесува корисничко име и лозинка.
     15
     16 3. Системот проверува дали корисникот постои:
     17{{{
     18SELECT user_id, password_hash, role_id, active
     19FROM project.app_user
     20WHERE username = 'petar_waiter';
     21}}}
     22
     23 4. Системот ја проверува лозинката (хеш споредба) и дали корисникот е активен.
     24
     25 5. Доколку е успешно, системот креира нова сесија:
     26{{{
     27INSERT INTO project.session (user_id, expires_at)
     28VALUES (3, now() + interval '12 hours')
     29RETURNING token;
     30}}}
     31
     32 6. Системот го запишува настанот во дневникот:
     33{{{
     34INSERT INTO project.audit_log (user_id, action, entity_name)
     35VALUES (3, 'LOGIN', 'app_user');
     36}}}
     37
     38 7. Системот ја чита улогата на корисникот:
     39{{{
     40SELECT r.role_name
     41FROM project.role r
     42JOIN project.app_user u ON u.role_id = r.role_id
     43WHERE u.user_id = 3;
     44}}}
     45
     46 8. Системот го пренасочува корисникот кон главниот екран.