Cześć piszę aplikację webową w ASP.NET Core i chciałbym dowiedzieć się jak uważacie jaki jest najlepszy sposób sprawdzania uprawnień do wykonywania danych akcji w aplikacji.
Powiedzmy, że aplikacja nie będzie bardzo rozbudowana więc samo sprawdzanie ról będzie wystarczające.
Aktualnie korzystam z Identity, dlatego dodałem sprawdzanie roli jako filtr przy akcjach w kontrolerach, jednak uważam, że może jest to za mało i powinno być to sprawdzane również w samych serwisach. Powinienem stworzyć sobie jakiś mechanizm cachowania danych użytkownika na sesji i wyciągania? Na jego podstawie mógłbym sprawdzać czy użytkownik może wykonać jakąś metodę. Tylko czy jest to odpowiednie podejście? Z tego co się naczytałem głębsze warstwy aplikacji nie powinny "wiedzieć" o sesji, a jedynie dostawać dane z wyższych poziomów. Tylko nie wiem czy przekazywania za każdym razem zestawu danych użytkownika do serwisów jest podejściem prawidłowym, bo strasznie namnoży to kodu.
Jak Wy podchodzicie do tego zagadnienia?