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

Vue.js przechowywanie informacji o zalogowanym użytkowniku

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
229 wizyt
pytanie zadane 4 sierpnia 2021 w JavaScript przez mi-20 Stary wyjadacz (13,250 p.)
Hej, po zalogowaniu się użytkownika przechowuję jego token w localStorage, zasadniczo dzięki temu łatwo też można sprawdzić czy użytkownik jest zalogowany. Jednak chciałbym mieć też dostęp do jego imienia, nazwiska, avatara albo tego czy jest użytkownikiem premium. Nie chciałbym za każdym razem pobierać takich danych. Imię i nazwisko + avatar np wyświetlają się w menu więc byłyby pobierane za każdym razem, jak można to rozwiązać?

Teoretycznie po logowaniu można by w localStorage przechowywać cały obiekt użytkownika, nie jestem jednak pewien czy to dobry pomysł.

Spodziewam się że można użyć Vuex, tutaj jednak prosiłbym o więcej szczegółów co i jak aby to zrobić

Dzięki za sugestię.

1 odpowiedź

+1 głos
odpowiedź 5 sierpnia 2021 przez niezalogowany
wybrane 10 sierpnia 2021 przez mi-20
 
Najlepsza
Vuex służy do przechowywania globalnego stanu aplikacji i w przypadku informacji o zalogowanym użytkowniku jest bardzo dobrym rozwiązaniem. Będziesz miał prosty dostęp do tych danych z każdego miejsca w kodzie. Po szczegóły implementacyjne zapraszam do dokumentacji

Dodatkowo w kontekście uwierzytelniania warto zastosować dwie techniki

1. Jeśli istnieje token, należy odpytać API o dane użytkownika PRZED inicjalizacją instancji vue. Dzięki temu zgrabnie można obsłużyć przekierowania na stronę logowania, gdy niezalogowany użytkownik próbuje dostać się pod adres wymagający uwierzytelnienia (i w drugą stronę, gdy zalogowany użytkownik próbuję dostać się pod adres logowania)

2. Jeśli API potrafi zwrócić błąd stricte o tym, że dany token nie jest zalogowany w systemie, należy dodać obsługę takiego błędu w interceptorze klienta HTTP i automatycznie wylogować użytkownika. W sytuacji gdy użytkownik stracił ważność tokena, a nadal ma otwartą aplikację - jakakolwiek akcja go wyloguje, zamiast przenosić na stronę błędu
komentarz 5 sierpnia 2021 przez mi-20 Stary wyjadacz (13,250 p.)
okej, ale taki obiekt powinien być gdzieś przechowywany (obiekt użytkownika oczywiście) czy wykorzystać Vuex do pobierania danych za każdym razem?
1
komentarz 5 sierpnia 2021 przez niezalogowany
Dane użytkownika pobierasz raz na starcie aplikacji i zapisujesz je w storze (vuex)
komentarz 10 sierpnia 2021 przez mi-20 Stary wyjadacz (13,250 p.)
Okej, do zapisywania danych użyłem vuex-persistedstate żey dane utrzymywały się po odświeżeniu. Jednak o ile dane użytkownika i dane o logowaniu mogę zmienić po zalogowaniu to przechowuję jeszcze inne ustawienia aplikacji które chciałbym aby były pobierane od nowa za każdym razem po wejściu na stronę lub powiedzmy co 1h. Da się to zrobić?
komentarz 10 sierpnia 2021 przez niezalogowany
tak, przed startem aplikacji wypełnić store potrzebnymi danymi (w main.js o ile dobrze pamiętam)
komentarz 18 sierpnia 2021 przez mi-20 Stary wyjadacz (13,250 p.)
okej, ale w main.js pobrać od nowa dane z bazy i wypełnić store?
komentarz 18 sierpnia 2021 przez niezalogowany
tak, wszystko, co potrzebujesz przed uruchomieniem aplikacji sciągaj w tym miejscu

Podobne pytania

+1 głos
0 odpowiedzi 169 wizyt
0 głosów
1 odpowiedź 236 wizyt
pytanie zadane 21 sierpnia 2018 w JavaScript przez mi-20 Stary wyjadacz (13,250 p.)
+6 głosów
2 odpowiedzi 1,206 wizyt

93,191 zapytań

142,206 odpowiedzi

322,041 komentarzy

62,518 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2817p. - dia-Chann
  2. 2769p. - Łukasz Piwowar
  3. 2759p. - Łukasz Eckert
  4. 2738p. - CC PL
  5. 2704p. - Tomasz Bielak
  6. 2678p. - Łukasz Siedlecki
  7. 2666p. - rucin93
  8. 2584p. - Adrian Wieprzkowicz
  9. 2536p. - Mikbac
  10. 2485p. - Marcin Putra
  11. 2418p. - Michal Drewniak
  12. 2239p. - Michał Telesz
  13. 2156p. - Anonim 3619784
  14. 1733p. - rafalszastok
  15. 1650p. - Mariusz Fornal
Szczegóły i pełne wyniki

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!

...