Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][Angular2] Ciasta nie wysyłają się do "innego" kontrolera
peter13135
post 4.06.2017, 10:28:09
Post #1





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


Czołem. Mam taki dość durny problem. Mam aplikację napisaną w angular 2 + backend w asp.net (serwisy rest w webApi).

Aktualnie mam dwa kontrolery. Ich adresy to:
Kod
localhost/api/users

oraz
Kod
localhost/api/gamerooms

Po zalogowaniu użytkownika, dodaniu sesji do bazy, tworzę ciastko:
Kod
  responseMessage.Headers.AddCookies(new List<CookieHeaderValue>() { new CookieHeaderValue("userSession", token.ToString()); });

Przeglądarka to ciastko przechwytuje i od tej pory używa do pozostałych żądań.
Problem polega na tym, że używa tylko do żądań, dla kontrolera api/users. Do drugiego kontrolera ciastko się nie wysyła.

Na poniższym screenie widać żądanie do kontrolera api/users - ciastko przesyła się poprawnie. W kontrolerze jestem w stanie ciastko odczytać.

Na poniższym screenie widać żądanie do kontrolera api/gamerooms- ciastko nie wysyła się. W kontrolerze nie jestem w stanie ciastka odczytać. Po przeniesieniu tej samej akcji z kontrolera gamerooms do kontrolera users, i podmianie w kodzie ~JavaScript ścieżki z gamerooms na users, ciastko wysyła się poprawnie
.

Sytuacja wydaje mi się dziwna, bo ciastka powinny (tak to przynajmniej rozumiem), dotyczyć jednej konkretnej domeny. Czyli w tym przypadku localhost.

Co robię tu źle ? Lub co mogę sprawdzić, jeśli w/w informacje nie są wystarczające ?


--------------------
:)
Go to the top of the page
+Quote Post
by_ikar
post 4.06.2017, 16:30:10
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Cookie przyjmuje też parametr path. Jak nie zostanie podany, to domyślnie ustawiany jest "/". tyle że ten twój webserwer może ustawiać ścieżkę, i tego ci w requeście nie pokaże. Przejdź w developer tools w chrome do zakładki "application/aplikacja" i tam będziesz miał kategorię cookies, w której możesz znaleźć ciastko i sprawdzić wszystkie informacje o tym ciastku.

IMO nie jest to problem javascriptu, bo ani nie odczytujesz tego ciastka z jego poziomu, ani go nie tworzysz z poziomu JS'a. Jeżeli ciastko jest wysyłane przez webserwer, to będzie później wysyłane dla pasującej domeny/ścieżki przy każdym żądaniu, nawet jak będzie ci chciał html wczytać obrazek.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2024 - 09:24