Obsługa użytkowników we frameworkach frontendowych

0

Witam,
Uczyłem się kilku frontendowych frameworków typu AngularJS, ReactJS czy Angular i przy używaniu każdego z nich miałem tę samą zagwostkę. Mianowicie jak obsłużyć użytkowników na stronie? Jak wiadomo strona napisana za pomocą jednej z w.w. technologii wykonuje się po stronie użytkownika i wszystkie jej elementy (oprócz samych danych) są zapisane po stronie użytkownika. Mało tego. Tworząc stronę typu single-page-application nawet routing jest po stronie użytkownika. Jak więc zabezpieczyć taką stronę przed niezalogowanymi gośćmi? Chodzi mi o sytuację, kiedy niezalogowani użytkownicy mogą np. przeglądać treści, a po zalogowaniu mogą dodatkowo przejść do jakiegoś panelu administracyjnego lub te treści edytować. Oczywiście samą autoryzację można zrobić po stronie serwera tak aby to serwer wysyłał wiadomość czy użytkownik jest uwierzytelniony czy nie ale wtedy i tak teoretycznie można to obejść i wyświetlić panel administracyjny bez zalogowania się.
Na jakiej zasadzie tworzy się strony typu SPA z obsługą użytkowników i ich praw?

1

można to obejść i wyświetlić panel administracyjny bez zalogowania się.

Można panel wyświetlić - ale co z tego, skoro klient nie dostanie żadnych danych do widoku (np. spisu wszystkich użytkowników), bo serwer ich nie wyśle? ;-)

Ostatecznie całe uwierzytelnianie spoczywa na serwerze - jeśli masz np. akcję POST /users, która tworzy nowego użytkownika, to zadaniem serwera jest przeprowadzenie odpowiedniej walidacji i dopuszczenie (bądź nie) do utworzenia zasobu w bazie danych.

1

Możesz wystawić backend i po prostu weryfikować wszystko na backendzie, wysyłać wszelkie dane (zwykle w postaci JSON) za pomocą jakiegoś "ajaxa". Większość SPA to tak naprawdę normalne strony, które mają backend i frontend, gdzie frontend to tylko takie GUI do tego, co ci wyda backend.

Ale da się oczywiście wywalić konieczność pisania backendu w ogóle. Więc chcesz wszystko mieć we frontendzie i nie chcesz w ogóle pisać backendu, to jest taka usługa Firebase (a pewnie nie tylko ona) i ci ona zapewnia jednocześnie bazę danych jak i stosowne zabezpieczenia.

Jeszcze jest coś takiego jak serverless, ale nie używałem tego (o ile faktycznie to jest coś, o czym myślę, a co sugeruje nazwa. Bo jak wszedłem na ich stronę, to w sumie mętnie opisują do czego to naprawdę służy https://serverless.com/framework/ )

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