• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

API w node - zabezpieczenie, zapytania, role użytkownika

Aruba Cloud - Virtual Private Server VPS
0 głosów
633 wizyt
pytanie zadane 7 września 2021 w JavaScript przez rszczepanski02 Obywatel (1,180 p.)
Cześć.
Przychodzę do Was z kolejnym pytaniem. Jestem junior react developerem i na potrzeby własnego projektu postanowiłem zacząć uczyć się back-endu. Tworzę API w nest.js oraz front-end w react oraz dla mobilki w react native.

Krótkie wprowadzenie:
- rejestracja / logowanie w nest.js przy pomocy biblioteki passport.js
- obiekt zalogowanego użytkownika trafia to storage reduxowego
- w obiekcie usera zadeklarowana jest właściwość: ROLE (USER / ADMIN)

Do rzeczy:
Mam funkcję back-endową, która edytuje danego usera. Przyjmuje jako parametr edytowanego usera wysłanego z frontu. W przypadku gdy zwykły użytkownik wchodzi w swój panel i edytuje swoje dane nie ma problemu, jednak ta sama funkcja służy administratorowi do edycji danych innych użytkowników. Zastanawia mnie, w którym miejscu dokonać sprawdzenia, czy dany użytkownik jest np. adminem (jeśli chce edytować innego usera). Czy wystarczy zablokować widok po stronie reacta na bazie danych dostępnych w storagu po zalogowaniu, czy też dokonać dodatkowego sprawdzenia w tej funkcji back-endowej, przesyłając zapytanie do bazy. Chodzi o to, że danymi po stronie frontu łatwo manipulować. Nie wiem w jakim stopniu przechowywanie danych w storagu po stronie frontu jest bezpieczne i czy użytkownik mógłby w jakiś sposób nimi manipulować, przez co sprawdzenie, czy użytkownik jest user / admin po stronie frontu byłoby niewystarczające, co też jest bezsensu bo w takiej sytuacji w każdym widoku, który dostępny jest tylko dla admina musiałbym wysyłać zapytanie do bazy i oczekiwać na zwrócenie informacji o tym, czy użytkownik posiada uprawnienia.

Nie wiem czy to przedstawiłem wystarczająco czytelnie :D Mam nadzieję, że uda Wam się rozszyfrować moje myśli i poradzicie coś na to :D

Pozdrawiam.
komentarz 9 września 2021 przez Michał Kazula Pasjonat (19,540 p.)
Są jeszcze sesje. Jak logujesz się to w backendzie tworzysz sesje, w niej jest info kim jesteś.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 360 wizyt
pytanie zadane 28 stycznia 2020 w JavaScript przez mreo Użytkownik (790 p.)
0 głosów
1 odpowiedź 136 wizyt
pytanie zadane 25 stycznia 2020 w JavaScript przez mreo Użytkownik (790 p.)
0 głosów
2 odpowiedzi 299 wizyt
pytanie zadane 30 stycznia 2020 w JavaScript przez mreo Użytkownik (790 p.)

93,264 zapytań

142,260 odpowiedzi

322,234 komentarzy

62,582 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...