Передача данных cookie между iframes - PullRequest
3 голосов
/ 18 января 2009

Скажем, у меня есть веб-сайт www.example.com с окном входа в систему, которое находится в iframe, расположенном на api.example.com. Мой вопрос:

  1. Можно ли передавать данные cookie из внутреннего iframe (api.example.com на веб-сайт, чтобы веб-сайт знал, когда пользователь вошел в систему?
  2. Возможно ли сделать это на стороне клиента, без необходимости обновлять всю страницу? Как будет передаваться на сайт тот факт, что пользователь вошел в систему?

Было бы замечательно любое решение, которое работает на FF и IE 6/7.

Ответы [ 2 ]

4 голосов
/ 18 января 2009

Вам не нужно передавать куки между ними. Вы должны записать cookie в нужный домен.

Response.Cookies("COOKIENAME").Domain = ".example.com"
Response.Cookies("COOKIENAME").Value= "foo"
2 голосов
/ 18 января 2009

Файл cookie может быть разделен между двумя доменами, такими как api.example.com и www.example.com, если сервер указывает домен cookie, который будет просто example.com. Это делает куки доступными для обоих поддоменов.

FF3 и IE8 поддерживают затем postMessage стандарт, который позволяет окнам (фреймам) в разных доменах общаться друг с другом. Однако для IE6 / 7 вам понадобится AJAX-вызов на сервер, чтобы получить то, что вам когда-либо понадобится для подтверждения входа, но сложно было бы знать, как вызвать такой запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...