Hyrje: Siguria është një Kërkesë, Jo një Opsion
Aplikacionet Angular menaxhojnë të dhëna të rëndësishme si dashboard admin, profile përdoruesish dhe të dhëna biznesi. Pa mbrojtje, aplikacioni bëhet i rrezikshëm.
Seksioni 1: Mbrojtja e Admin Dashboard (Use Case Real)
Skenari: Vetëm admin duhet të hyjë në /admin.
export const adminGuard = () => {
const auth = inject(AuthService);
return auth.isAuthenticated() && auth.hasRole('admin');
};
✅ Rezultati: përdoruesit e paautorizuar bllokohen.
Seksioni 2: Bllokimi i Module Admin (Use Case)
Skenari: moduli admin është lazy-loaded.
export const canMatchAdmin = () => {
const auth = inject(AuthService);
return auth.isAuthenticated() && auth.hasRole('admin');
};
✅ Rezultati: kodi admin nuk shkarkohet fare.
Seksioni 3: Mbrojtja e Formave
Skenari: përdoruesi po shkruan një artikull dhe largohet pa ruajtur.
export const dirtyFormGuard = component => {
return component.isDirty()
? confirm('Ke ndryshime të pa ruajtura')
: true;
};
✅ Rezultati: shmang humbjen e të dhënave.
Seksioni 4: Token Automatik (Use Case)
Skenari: çdo request duhet të ketë JWT.
const cloned = req.clone({
setHeaders: { Authorization: `Bearer ${token}` }
});
✅ Rezultati: siguri pa kod të përsëritur.
Seksioni 5: Menaxhimi i Gabimeve
Skenari: token skadon.
✅ Rezultati: logout automatik.
Përdorimi i Përditshëm
- Mos beso input-in e përdoruesit
- Validim gjithmonë në backend
- Mos ruaj të dhëna sensitive
Përfundim
Siguria është një sistem, jo një funksion i vetëm.