флеш плеер и проблема отправки куки сессий в браузере - PullRequest
1 голос
/ 12 июля 2011

У меня есть хороший.

Все дни до вчерашнего дня при вызове URLRequest куки-файл сеанса в браузере отправлялся обратно на сервер для аутентификации. Внезапно при выдаче URLRequest сессионный cookie больше не отправляется браузером. Когда я открываю копию и вставляю URL из URLRequest в окне браузера, он работает нормально.

Ты хоть представляешь, в чем проблема .... ??

Это как-то связано с localhost ?? может быть, при отправке запроса от flash на localhost cookie сеанса не отправляется обратно ... но он зависал уже несколько недель ... и я не могу вспомнить, что я мог изменить .... очень странно

Спасибо за вашу помощь заранее Martin

Ответы [ 2 ]

0 голосов
/ 13 июля 2011

Короткий ответ: Flash не знает и не контролирует, прикрепляет ли браузер файлы cookie к HTTP-запросам. Flash просто вызывает сетевой стек браузера и получает ответ позже; Flash не имеет собственной сети и не работает с файлами cookie как таковыми. Таким образом, моя лучшая ставка была бы возможно настройкой браузера, кое-что на стороне сервера? Понятия не имею, но я не думаю, что AS3 окажется вовлеченным.

0 голосов
/ 13 июля 2011

Код во Flash для загрузки http-адреса:

            var request:URLRequest;
            var vars:URLVariables = new URLVariables();
            var urlLoader:URLLoader;

            request = new URLRequest(url);
            request.method = URLRequestMethod.GET;  
            urlLoader = new URLLoader();

            urlLoader.addEventListener(Event.COMPLETE, handleComplete); 
            urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
            urlLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
            urlLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);

            try {
                urlLoader.load(request);    
            } catch (error:Error) {
                LogUtil.debug("Unable to load Payment Data." + error);
            }

Серверная часть закодирована в ruby, и я делаю следующий вызов:

помещает "ID СЕССИИ: # {session [: user_id]}"

...