Ons systeem heeft een services architectuur. Centraal in dit systeem zit een account service, die vooralsnog authenticatie als authorisatie verzorgt:

Onze discussie van zojuist ging over het volgende. In de figuur hierboven wordt de gebruiker ingelogd bij service A. Het idee is dan dat service A ook weet welke rechten de gebruiker heeft.
Iemand in ons team stelde echter een andere opzet voor, namelijk dat service A niet weet welke rechten de gebruiker heeft. Bij iedere call naar service A, vraagt service A aan de accountservice 'mag user X deze call doen?'. Het voordeel is dan dat je meer controle hebt (je kunt 'live' een user rechten geven/ontnemen) en dat service A (t/m Z) niets hoeven op te slaan over de gebruiker. Het nadeel is dat account-service extra belast wordt.
Wat raden jullie aan? Welke argumenten zijn er nog meer?

Onze discussie van zojuist ging over het volgende. In de figuur hierboven wordt de gebruiker ingelogd bij service A. Het idee is dan dat service A ook weet welke rechten de gebruiker heeft.
Iemand in ons team stelde echter een andere opzet voor, namelijk dat service A niet weet welke rechten de gebruiker heeft. Bij iedere call naar service A, vraagt service A aan de accountservice 'mag user X deze call doen?'. Het voordeel is dan dat je meer controle hebt (je kunt 'live' een user rechten geven/ontnemen) en dat service A (t/m Z) niets hoeven op te slaan over de gebruiker. Het nadeel is dat account-service extra belast wordt.
Wat raden jullie aan? Welke argumenten zijn er nog meer?