Role w laravelu - co proponujecie użyć?

Role w laravelu - co proponujecie użyć?
KO
  • Rejestracja:około 7 lat
  • Ostatnio:2 miesiące
  • Postów:125
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.

stivens
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 12 godzin
1

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


λλλ
mr_jaro
  • Rejestracja:prawie 14 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Grudziądz/Bydgoszcz
  • Postów:5300
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.


It's All About the Game.
KO
  • Rejestracja:około 7 lat
  • Ostatnio:2 miesiące
  • Postów:125
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

mr_jaro
  • Rejestracja:prawie 14 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Grudziądz/Bydgoszcz
  • Postów:5300
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


It's All About the Game.
edytowany 1x, ostatnio: mr_jaro
XT
  • Rejestracja:ponad 5 lat
  • Ostatnio:ponad 3 lata
  • Postów:9
0

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.