Skip to content

LAB-01: KT1 kostur, trajni identitet i serverske provere pristupa - #47

Merged
owlCoder merged 8 commits into
mainfrom
feature/LAB-01-skeleton
Nov 3, 2026
Merged

owlCoder merged 8 commits into
mainfrom
feature/LAB-01-skeleton

Conversation

@visnjamax0208

Copy link
Copy Markdown
Collaborator

Component and requirement IDs

  • Component: Laboratories — KT1 kostur modula.
  • Requirements: LAB-01; granice i plan za LAB-07 opisani su u dokumentaciji. LAB-07 jos nije implementiran.
  • Author(s): postojeci commit-i nsojic i novi integracioni commit Visnja Maksimovic; individualni doprinos ostaje vidljiv u Git istoriji.

Changes

  • Uskladjena grana sa main uz ocuvanje postojece istorije i registracija drugih modula.
  • Dodat Laboratories kostur (Domain, Application, Api, Infrastructure), lokalni portovi identiteta/prava i razvojne fake implementacije.
  • Laboratory ima trajni ID, serversko generisanje ID-ja za novu instancu i validaciju/preimenovanje naslova bez promene ID-ja.
  • Laboratories.Tests je ukljucen u zajednicki SecurityLab.slnx; dodati domenski i HTTP testovi.
  • Program.cs dopunjen samo ukljucivanjem Laboratories modula. Identity, Access, Audit, Authoring, frontend i CI ostaju kao na pregledanom main-u.

Verification

Lokalno, 3. novembra 2026, .NET SDK 10.0.403:

  • dotnet build backend/SecurityLab.slnx --configuration Release — prosao.
  • dotnet test backend/SecurityLab.slnx --configuration Release — 199 proslo, bez neuspesnih/preskocenih: Laboratories 31, Authoring 55, Audit 71, Platform.Tests 42.
  • Iz frontend direktorijuma: npm ci --no-audit --no-fund i npm run build — prosli.
  • Rucno pokrenut API i provereni HTTP odgovori. Rezultati su u dokumentaciji.

Broj testova se odnosi na projekte ukljucene u zajednicki solution, ne na svaki test projekat u repozitorijumu. GitHub CI rezultat treba proveriti na ovom PR-u.

Architecture and data flow

docs/components/LAB-01-LAB-07.md sadrzi arhitekturu, DFD sa granicom poverenja, demonstracione komande, ogranicenja i predlog adaptera.

Tok kostura: zahtev → identitet → serverska odluka o pristupu → endpoint ili odbijanje. Domen jos nije povezan sa skladistem ili stvarnim kreiranjem preko API-ja.

Security checks and negative tests

  • Anonimni zahtev, neispravno ili visestruko zaglavlje identiteta: 401.
  • Student ne moze da kreira: 403.
  • Razvojni nastavnik prolazi autorizaciju, ali POST vraca 501 jer kreiranje jos nije implementirano.
  • Testovi proveravaju izolaciju identiteta izmedju zahteva i da X-Test-User ne daje pristup u Production/Staging okruzenju.
  • Nepoznata radnja se odbija; neispravan naslov ne menja stanje domena.
  • X-Test-User je samo Development simulacija i ne proverava postojanje naloga. Ovo nije zavrsena autentifikacija/autorizacija za produkciju.

Dependencies

PR ostaje draft dok se ne pregledaju granice integracije:

  • Tim 11 / AUT-01 i AUT-06: veza trajnog LaboratoryId sa nacrtom i izvor naslova; limit naslova je trenutno 200 u LAB domenu, 120 u Authoring sadrzaju. LabDraft.Version nije objavljena revizija. Njihov kod nije menjan.
  • LAB-02 (feat(LAB-02): add laboratory metadata model and tests #43): usaglasiti zajednicki model/vezu metapodataka da ista laboratorija ne dobije dva nezavisna identiteta.
  • Identity/Access: adapteri, stvarni izvor identiteta/statusa i clansto u kursu jos nisu povezani; predlog i zavisnosti su dokumentovani.
  • REV: objavljivanje i numerisanje nepromenljivih revizija ostaje odgovornost REV modula.
  • LAB-07: prevodi iste revizije i istog evaluator-a, frontend i pristupacnost ostaju naredni koraci.

Ovaj PR prikazuje pocetni KT1 tok, ne zavrsenu implementaciju LAB-01/LAB-07. Nije namenjen spajanju pre pregleda.

@visnjamax0208
visnjamax0208 marked this pull request as ready for review November 3, 2026 13:22
@owlCoder
owlCoder merged commit 0a4f3d1 into main Nov 3, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants