[JavaScript][Angular2] Ciasta nie wysyłają się do "innego" kontrolera |
[JavaScript][Angular2] Ciasta nie wysyłają się do "innego" kontrolera |
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 ? -------------------- :)
|
|
|
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. |
|
|
Wersja Lo-Fi | Aktualny czas: 28.04.2024 - 07:17 |