Каков наилучший способ сохранить логин и пароль пользователя в flex? - PullRequest
4 голосов
/ 27 июля 2010

Какой лучший способ сохранить учетные данные пользователя в flex? Локальное хранилище не кажется хорошим местом для хранения конфиденциальных данных, потому что оно сохраняет информацию в виде простого текста.

Ответы [ 6 ]

2 голосов
/ 27 июля 2010

Ты не должен.Используйте файлы cookie браузера или токен сеанса для идентификации пользователя на сервере.Например:

  1. Пользователь вводит имя пользователя и пароль в форму во Flex и нажимает кнопку входа.
  2. Сервер проверяет учетные данные.Затем либо в памяти, либо в базе данных сервер связывает случайный (и достаточно безопасный) токен с пользователем.Затем сервер возвращает токен клиенту.
  3. Клиент сохраняет токен в файле cookie, LocalSharedObject или просто в памяти.Затем последующие запросы также включают токен.
1 голос
/ 02 июня 2011

если ваша служба не поддерживает учетные данные, единственное, что вы можете сделать, это сохранить состояние входа пользователя в SharedObject.

Вы можете сохранить значение хеша от UserName + Random Token до SharedObject и сохранить копию UserName также в SharedObject, затем при создании приложения creationComplete проверить, совпадает ли значение хеш-функции с сохраненным пользователемname.

хорошая вещь в этом трюке:

  1. Пароль никогда не сохранялся локально.
  2. Сложнее подделать логин, поскольку необходимо сопоставить имя пользователя с хеш-значением

немного сложно объяснить здесь, вы можете проверить это здесь , исходный код доступен для скачивания.

1 голос
/ 27 июля 2010

Вы можете использовать ExternalInterface для связи с JavaScript и сохранения данных в файлах cookie браузера.

Не хранить имя пользователя или пароль в файлах cookie - создать сеанс на сервере с учетными даннымии сохраните идентификатор сеанса в куки браузера.

0 голосов
/ 19 июня 2013

SharedObject - очень плохое место для хранения вашего пароля.

Пожалуйста, смотрите это:

http://livedocs.adobe.com/flex/3/html/help.html?content=security2_22.html

0 голосов
/ 28 июля 2010

Вам не обязательно сохранять учетные данные в виде обычного текста в локальном хранилище; фактически локальное хранилище (SharedObject) фактически сериализовано как AMF, поэтому для начала это не простой текст. Какой бы носитель вы не использовали для хранения ваших конфиденциальных данных, вам, безусловно, следует рассмотреть возможность использования каких-либо методов хеширования или шифрования, таких как SHA1 или RSA.

Разница между хешированием и шифрованием заключается в следующем:

  • Хеширование (SHA1, MD5 и т. Д.) - это одностороннее шифрование - другими словами, очень трудно определить исходное значение хэшированного значения, поэтому вы можете сравнить одно хэшированное значение. значение для другого, поскольку эти алгоритмы хеширования всегда будут выдавать одно и то же.
  • Шифрование (RSA, AES и т. Д.) - это двустороннее шифрование - иными словами, вы можете определить исходное значение зашифрованных данных, обычно с использованием общедоступных / закрытый ключ

Это действительно зависит от того, что вы пытаетесь сделать.

Надеюсь, ты пойдешь правильно

0 голосов
/ 27 июля 2010

Учетные данные пользователя обычно хранятся в переменной сеанса.

...