#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);
Комментарии:
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. Теперь я понимаю проблему. К сожалению, у меня нет решения.