Role w laravelu - co proponujecie użyć?

0

Cześć!
Mam pytanie odnośnie roli przydzielanych użytkownikowi w Laravelu. Właśnie stoję przed wyzwaniem napisania pracy inżynierskiej, i się zastanawiam jak wziąć się za ten temat, żeby to było zrobione po prostu poprawnie. W projekcie na ten moment chcę mieć tylko Admina i zwykłego użytkownika. Czy poprawne będzie utworzenie pola "rola" w tabeli przechowującej informacje o użytkowniku, przydzieleniu każdemu użytkownikowi roli, a następnie sprawdzanie za każdym razem jaką użytkownik ma rolę? Czy może lepiej po prostu skorzystać z bramek? Z góry dziękuję za pomoc.

Jeszcze mam jedno takie pytanko, bo tego nigdy nie umiem zrozumieć, a może ktoś mi pomoże zrozumieć, jak wykorzystywać middleware? One głównie służą do blokowania całych stron, czy można blokować za ich pomocą, mniejsze poszczególne treści na stronie? Dziękuje jeszcze raz za pomoc.

1

Uzytkownik moze miec potencjalnie kilka rol (patrz np. Discord) wiec dobrze by bylo miec oddzielna tabelke i relacje wiele-do-wielu

2

Masz wiele dróg. W prostym przypadku takim jak twój, wystarczy pole w tabelce users + użycie middlewarów dla sprawdzania dostępu do konkretnych routów.

0

Dziękuję bardzo za odpowiedzi, szczerze mówiąc rozjaśniło mi to sprawę, i po zastanowieniu obydwa rozwiązania pozwalają w przyszłości dołożyć kilka ról, i nie będzie żadnego problemu raczej :D Jeszcze mam takie pytanie, czy każda rola musi mieć określone funkcje jakie może wykonywać? W sensie chodzi mi o to czy muszę określać czy dana osoba może coś napisać, zapisać, dodać, usunąć? Czy to nie jest wymagane żeby to było określone w bazie danych, i mogę to ustawiać ręcznie od razu w kodzie? Bo tak chce w sobie wyrobić dobre praktyki żeby po 2/3 miesiącach się gdzieś nie zagmatwać haha

0

W bazie stosuje się to tylko jeśli chcesz mieć sterowanie tym z poziomu panelu admina. Jeśli chcesz szybko i wydajniej to robisz to w kodzie i od tego masz middleware + polices

1 użytkowników online, w tym zalogowanych: 0, gości: 1