Cześć, robię apliację w ASP.NET CORE MVC. Aplikacja ta pozwala dobierać się użytkownikom w grupy i rozmawiać na forach w poszczególnych grupach. Do logowania i rejestracji wykorzystałem wbudowaną w Visual Studio opcję Authentication - Indiwidual User Account, którą wybiera się przy tworzeniu projektu. Do utworzenia grup stworzyłem 2 modele w EF Core i zmigrowałem je do bazy danych. Pierwszy model przedstawia dane grupy. Drugi model jest modelem pośredniczącym - łączy relację wiele do wielu pomiędzy grupami a użytkownikami.
Mam problem z autoryzacją użytkowników znajdujących się w danych grupach. Póki co nie mam żdnej autoryzacji użytkowników w grupach. Będąc użytkownikiem, który nie należy do pewnej grupy mogę dostać się do innej grupy wpisując adres Url : https://localhost:xxx/Groups/ChosenGroup/'Id grupy' (muszę tylko znac albo zgadnąć ID obcej grupy). Szukam łatwego i skutecznego sposobu na autoryzacje. Znalazłem 2 rozwiązania:
- wykorzystanie IDataProtector. Dzięki temu mój adres url będzie miał zaszyfrowanie ID, dzięki czemu włamanie będzie bardzo utrudnione, prawię niemożliwe. Mimo tego rozwiązanie to nie podoba mi się, ponieważ znając zahashowane ID, będzie można dalej włamać się do nieswojej grupy. Link dla tych, którzy chcą poczytać o IDataProtector: https://code-maze.com/data-protection-aspnet-core/.
- znalazłem następujący artykuł: https://www.thereformedprogrammer.net/part-2-handling-data-authorization-asp-net-core-and-entity-framework-core/ mowa jest tutaj o "Handling data authorization in ASP.NET Core and Entity Framework Core". Artykuł wygląda dość ciekawie, jednak jestem początkujący i po prostu średnio to rozumiem.
Proszę o wskazówki od bardziej doświadczonych programistów.
Pozdrawiam.