пропустить сеанс на новый домен, используя калитки? - PullRequest
0 голосов
/ 21 декабря 2011

У меня есть приложение, которое перенаправляет запрос в защищенный домен на любой странице калитки, помеченной @RequireHttps.

Я также добавляю идентификатор сеанса в URL, чтобы сохранить sessionData на защищенном URL.

Я прослушиваю любой сеанс, а затем заменяю sessionID в куки-файле на переданный.

Я проверил свою логику локально, используя один и тот же домен для безопасного и небезопасного, cookie перезаписывается всем, что я передаю в качестве сеанса.

однако, когда я передаю данные сеанса на мой URL-адрес в другой домен, это не работает.

secure.example.com/?username=testuser&session=xxxxxxxx

Я получаю пустую страницу.

Кажется, что cookie не генерируется, когда я пересылаю новый URL. Похоже, мне нужно создать новый сеанс для нового URL, а затем заменить идентификатор сеанса в новый файл cookie.

Как заставить приложение г

1 Ответ

1 голос
/ 22 декабря 2011

Относительно печенья:

Файл cookie ограничен его именем , доменом и путем в этом домене (подробнее см. RFC-6265, 4.1 .2.3. Атрибут домена ).

Таким образом, обычно вы можете установить область действия cookie для домена (или для поддоменов домена), но не для междоменного домена (вне домена исходного сервера). В вашем тестовом домене он работал (что нормально), а между разными доменами он не работал (что тоже нормально).

Но из вашего вопроса не ясно, является ли «другой домен» поддоменом домена, которым вы владеете, или это совершенно новый домен. Если это первый, вы можете установить для домена cookie что-то вроде .example.com, и такой файл cookie должен работать во всех поддоменах в домене example.com.

...