Установка файлов cookie в Flex URLRequest

#apache-flex #cookies #file-upload

#apache-flex #файлы cookie #загрузка файла

Вопрос:

Я пытаюсь установить файл cookie в Flex, но, похоже, это не работает. Я делаю что-то не так? Возможно ли это? Кажется, это должно быть просто.

 var fileRef:FileReference;
// fileRef is configured

var cookieString:String = "my cookies";
var cookieHeader:URLRequestHeader= new URLRequestHeader("Cookie", cookieString);

var url:String = 'my url'; 
var request:URLRequest = new URLRequest(url); 
request.method = URLRequestMethod.POST; 
request.requestHeaders.push(cookieHeader);
fileRef.upload(request);
 

Проблема, которую я пытаюсь решить, заключается в том, что я не могу выполнить аутентифицированный запрос веб-службы через OpenAM без использования файлов cookie, и я не могу понять, как поместить файлы cookie в запрос на загрузку гибкого файла (ну, на самом деле это работает в IE, но не работает в Firefox и Chrome — я читал, что этопоскольку IE загружает файл в тот же поток браузера, в то время как некоторые другие браузеры создают новый поток, и информация о файлах cookie не передается).

Комментарии:

1. Зачем вам нужны файлы cookie для выполнения безопасного веб-запроса?

2. Мы используем OpenAM в качестве нашей платформы аутентификации и авторизации. Он использует файлы cookie для авторизации пользователей, прошедших проверку подлинности, для доступа к веб-службам. У него нет возможности запускать «cookieless», поэтому я не могу получить доступ к службам без установки файлов cookie в запросе. Возможно, «безопасный» был не лучшим термином для использования, поскольку он не относится строго к https — хотя мы также используем его (если это имеет значение). Я отредактировал вопрос, чтобы помочь устранить путаницу.

3. Я не понимаю, почему вам нужно вручную устанавливать эти файлы cookie в заголовке запроса. При установке в браузере уже есть cookies, и они автоматически включаются во все запросы сервера, включая запросы, сделанные Flash Player. Находится ли ваш SWF-файл в том же домене, что и веб-служба?

4. Вот почему файлы cookie не передаются, и их необходимо установить вручную — jimmyflex.blogspot.com/2010/05 /. … Я не могу использовать предлагаемое здесь решение, потому что OpenAM не использует JSESSIONID и не поддерживает поведение без использования cookies. Да — SWF и веб-службы находятся в одном домене. Это работает в IE, но не работает в FF и Chrome (и, возможно, других).

5. Теперь я понимаю проблему. К сожалению, у меня нет решения.