Mamy standardową autoryzację, zalogowanego użytkownika i jest ok. Przychodzi taki moment, że jedna osoba spełnia kilka ról, które się różnią znacząco pod względem zakresu funkcji i dostępu do zasobów. Weźmy za przykład dziennik szkoły gdzie user Jan Kowalski jest skrajnym przypadkiem, że jest nauczycielem wf, uczniem szkoły wieczorowej oraz ma 3jkę dzieci w tym 2 z nich w jednej klasie. Oczywiście wszystko na jednym loginie i haśle.
Jakie mechanizmy, patterny byście użyli dla takiej sytuacji? W jaki sposób przechowywać role, rozróżniać, trzymać w sesji, autoryzować itp? Miałem okazję już wdrażać takich mechanizm, ale chce podejść do tematu na świeżo, bo pozornie prosta sprawa wcale taka nie jest.