Laravel autoryzacja na dwa sposoby

0

Cześć,
mam pytanie, czy jest możliwość, a jeśli tak to w jaki sposób autoryzacji na dwa sposoby w Laravel.
Mam aplikację gdzie admina autoryzuję przez laravel passport - do panelu admina a teraz zwykłych użytkowników chciałbym autoryzować w sposób standardowy, przez formularz w blade.

3

Jest możliwe, ale przed zalogowaniem nie bardzo wiadomo jakie role ma użytkownik. Musisz to sobie jakoś przemyśleć.
Szukaj po "custome auth middleware" np.
https://www.webtrickshome.com/forum/how-to-add-custom-authentication-middleware-in-laravel
No i dokumentacja.
https://laravel.com/docs/8.x/authentication

0
ssquad napisał(a):

Mam aplikację gdzie admina autoryzuję przez laravel passport - do panelu admina a teraz zwykłych użytkowników chciałbym autoryzować w sposób standardowy, przez formularz w blade.

A nie lepiej na max'a chronic wlasne dup...sko i cala odpowiedzialnosc za autentykacje "zwalic" na zewnetrzne serwery? Wtedy przynajmniej teoretycznie latwiej sie bronic przed zarzutami. Autentykacja przez Googl'e, a autoryzacja po Twojej stronie. W razie "kiszki", problem bedzie lezal na lini uzytkownik-google, albo po stronie zfrustrowanego admina bazy danych lub serwera Twojego provider'a.

0

W obu przypadkach robisz jedno i to samo logowanie. Potem tylko po zalogowaniu jak juz masz Auth()->user() sprawdzasz czy logowanie jest przez passport i czy user to admin. jesli tak to ok jesli nie to wylogowujesz. A jak zaloguje sie przez zwykly formularz to nie sprawdzasz juz nic dodatkowo bo i admin i user loguja sie tak samo. To jest ten sam proces co robisz 2-Factory Authentication. najpierw musisz usera zalogowac a potem sprawdzasz czy ma 2FA na email czy na sms i przed dostepem do serwisu wykonujesz dodatkowe czynnosci.
Jak pisal wczesniej autor robiz grupe w route kdo ktorej dajesz middleware ktory psrawdza czy user przeszedl veruwifkacje lub czy jest adminem i przez co sie logowal to wszystko tam wstaw sobie

0

@masterc: w przypadku zewnetrznych serwerow (bylo juz Google, wiec niech caly czas bedzie Google), cala autentykacje zalatwia Ci Google i banalne middleware (AuthenticationMiddleware) po Twojej stronie, ktore siciaga Ci z serwera Google kilka informacji na temat uzytkownika, na podstawie ktorych Twoje kolejne (AuthorizationMiddleware) odczytuje jego role i zakres przywilejow, ktore jej odpowiadaja.
W przypadku larvel passport samodzielnie stawiasz sobie wlasny serwer z cala niezbedna infrastruktura, dodatkowo zglaszajac sie na ochotnika jesli chodzi o wylaczna odpowiedzialnosc za np wyciek danych.

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