4. Role i Zezwolenia

Witajcie! :-) - materiał w trakcie tworzenia. Linki w punktach zaczną się pojawiać kiedy zacznę tworzyć Video na ich temat.

W tym dziale poruszymy jak zarządzać różnymi grupami użytkowników naszej aplikacji.

Ten temat zajmie dość sporo czasu. Jeżeli chcielibyśmy użyć gates and policies, czyli czyste Laravel, to zajęło by to jeszcze dłużej. Można to przyspieszyć na kilka sposobów:

1. Można użyć gotowego Admin Panel'u. One mają wbudowane systemy zarządzania użytkownikami. Jeżeli nie mamy doświadczenia z Laravel, to może być to za ciężkie na początek.
2. Można użyć gotowego produktu jak CMS, czy E-commerce żeby nie budować projektu od zera, tylko mieć już większość rzeczy ogarniętych. Ale trzeba znać Laravel żeby to ogarniać.
3. Można użyć pakietów które są dedykowane pod zarządzenia użytkownikami jak wszystkim czego to dotyczy. Tutaj może zacząć początkujący. Tutaj najłatwiej zrozumieć co jak i dlaczego :).

Samemu nie lubie wymyślać koła od nowa. Jeżeli jest coś czemu mogę zaufać, to chętnie z tego skorzystam. Nie przepadam też za gotowymi rozwiązaniami. Dlaczego? Bo narzucają swój styl, oraz często okazuje się, że i tak czegoś brakuje i musimy to dorabiać.

Tutaj użyjemy tak jak ja lubię i podałem to w punkcie 3im. Ponieważ pakietów Roles&Permissions jest trochę, ja skupię się tylko na jednym. Jest to Laratrust. A zatem, zaczynamy! :-)

Temat trzeba podzielić na kilka części i każdej z części stworzona jest podstrona.

1. Instalacja pakietu Laratrust. Tutaj opisane są krok po kroku rzeczy wymagane żeby zainstalować ten pakiet. Nauczymy się robić tego wedłu dokumentacji, dlaczego? Dlatego, że po tym jak to zrobimy wyjdą nowe rzeczy/edycje. Jeżeli za jakiś czas ktoś będzie chciał znowu to robić, może nie ogarnać tego samemu. Link do materiału Instalowania Laratrust jest tutaj. Druga część to konfiguracja i jest tutaj.

2. W tej części rozpoczniemy budowę pierwszego CRUD dla panelu admina. Tutaj musimy stworzyć Route jak i wszystkie strony na których będziemy mogli zarządzać użytkownikami. Link jest TUTAJ.

3. Kiedy mamy już Panel Administratora, to teraz można zacząć tworzyć Permissions (permyszyns), czyli zezwolenia do wykonywania danych akcji. Jest to już drugi CRUD. Np. kiedy tworzymy nowy model, controller i route z całymi stronami widokowymi, to to będzie przypisane do takiego zezwolenia o określonej nazwie. Potem wykorzystamy Roles (rouls), czyli nadamy role które potem będziemy mogli wykorzystać do połączenia z danym użytkownikiem. Tutaj jest link.

4. Tutaj tworzymy Roles jak wspomniałem wcześniej. Tak, jest to trzeci już CRUD o nazwie Roles. To będzie już ostatnią częścią układanki przed połączeniem wszystkiego. Łączy się tutaj Permissions z Roles, jak, dowiemy się po zapoznaniu się z tym tematem.

5. W piątej części nauczymy się łączyć użytkowników z ich rolami. Czyli, użytkownik ma rolę np. Admin'a. Rola admina pozwala na posiadanie zezwoleń np. na wszystko co jest w aplikacji. Ale, np. edytor nie może dodawać, czy usuwać nowych użytkowników, ani nadawać im praw.

6. Tutaj jest podsumowanie całej funkcjonalności, oraz omówimy jak ustawiać role, zezwolenia żeby np. stworzyć aplikację SaaS. Czyli aplikację która posiada oddzielne konta użytkowników w których to użytkownik może zarządzać tylko swoją treścią. Oraz kiedy lepiej stosować pakiet Multi-tanancy, a kiedy samemu ustawiać zezwolenia i role.

Comments