aaieduhr / aosi-module-certify
AOSI Certify Module
Package info
gitlab.opencode.hr/srce/aai-eduhr/aosi/aosi-module-certify
Type:aosi-module
pkg:composer/aaieduhr/aosi-module-certify
Requires
- php: >=8.2
- ext-ldap: *
Requires (Dev)
- aaieduhr/aosi: ^5
- phpstan/phpstan: ^2.1
- phpstan/phpstan-deprecation-rules: ^2.0
- phpunit/phpunit: ^10 || ^11
- rector/rector: ^2.0
- slevomat/coding-standard: ^8
- squizlabs/php_codesniffer: ^3
README
AOSI Modul Certify koristi se za provjeru usklađenosti podataka u imeniku ustanove s normama sustava AAI@EduHr.
Što provjerava?
Modulom se provjerava:
Je li uz svaki e-identitet zabilježen odgovarajući/ispravan OIB. Iznimka mogu biti samo korisnici kojima je vrijednost atributa hrEduPersonPrimaryAffiliation 'gost'. Ako 'gost' ima upisan OIB, on mora biti ispravan. OIB mora biti upisan i kao vrijednost atributa hrEduPersonOIB i kao jedna od vrijednosti atributa hrEduPersonUniqueNumber.
Je li broj e-identiteta označen kao istekao prije više od 3 mjeseca (u to se broje i studentski e-identiteti bez podatka o isteku) manji od 1% ukupnog broja korisnika u imeniku?
Je li u imeniku svi e-identiteti imaju ispravan podatak o e-mail adresi. Provjerava se ispravnost formata. Vrijednost atributa mail mora biti jedinstvena na razini imenika.
Je li vrijednost atributa hrEduPersonUniqueNumber jedinstvena na nivou ustanove.
Modul omogućava dva načina rada:
Za administratore imenika:
- Grafičko sučelje za pokretanje izvještaja
- Pregled statistike
- Pregled uočenih nepravilnosti
- Preuzimanje izvještaja u .txt datoteku.
Za Koordinatora sustava AAI@EduHr:
- Automatsko pokretanje izvještaja o usklađenosti s normama sustava AAI@EduHr korištenjem SOAP metode 'ldapCertData'.
- Podaci se šalju u XML formatu. Glavni dio izvještaja je kodiran u Base64 formatu.
Pregled ključnih datoteka
Modul je organiziran na način da dijeli logiku na servise, obradu i prikaz.
- Servisi i logika:
CertifyAnaliza.php: Sadrži logiku provjere (OIB-a, JMBG-a, formata e-maila i datuma). Definira pravila što se smatra pogreškom. Podaci se obrađuju u serijama.
CertifyService.php: Dohvaća korisnike, poziva CertifyAnaliza za njihovu obradu, te priprema izvještaj u različitim formatima.
- Obrada zahtjeva:
IndexController.php: Poziva logiku iz servisa CertifyService.php, prikazuje podatke na ekranu. Omogućava da se podaci preuzmu kao fizička datoteka.
CertifySoapHandler.php: Ova datoteka prima pozive. Provjerava tko zove (autorizacija putem IP adrese ili certifikata), autenticira se na imenik i vraća konačni format izvještaja.
Soap_methods.php: Sadrži opis SOAP metode ldapCertData . Ovdje su definirani svi ulazni parametri.
Service.php: Datoteka koja osigurava da svaka klasa dobije potrebne ovisnosti za ispravan rad.
- Sučelje:
Analiza.php: Predložak za web sučelje namijenjeno administratoru imenika. Prikazuje postotke, tablice s nepravilnostima, te omogućava pokretanje i preuzimanje izvještaja.
Licence
This work is published under European Union Public License (the ‘EUPL’) v1.2.