Система входа в приложение Desktop Flex - PullRequest
0 голосов
/ 15 октября 2010

В настоящее время я нахожусь на этапе планирования / ранней сборки приложения Flex для настольных компьютеров, которое будет взаимодействовать с Zend-приложением на веб-сервере.

Приложение Flex в основном будет похоже на макет / представление вС точки зрения шаблона MVC, он будет выполнять запросы к различным действиям контроллера и отображать данные, возвращаемые значимым образом, и публиковать данные, которые обновят различные данные в базе данных на сервере.

В основном то, что яинтересно, как лучше всего построить систему входа в систему для настольного приложения.Надеюсь, я прав, полагая, что я не могу использовать обычные каналы, которые вы бы использовали, если бы ваши пользователи обращались к приложению через браузер, поэтому я подумал, что сделаю следующее:

  1. Приложение Flexотправляет данные для входа (адрес электронной почты, пароль) в действие для входа в систему
  2. В действии для входа используется Zend Auth, чтобы проверить, верны ли данные
  3. Действие для входа создает уникальный хэш (и сохраняет его вdb где-то вместе с идентификатором пользователя) и возвращает объект json, содержащий хэш вместе с идентификатором пользователя, в приложение flex
  4. Когда приложение flex запрашивает какое-либо действие в веб-приложении, оно также отправляетидентификатор пользователя и уникальный хеш, чтобы веб-приложение могло проверить пользователя.

Имеет ли это смысл, или я тут ошибаюсь?

Дайте мне знать, что выПодумайте, а есть ли лучшее решение, которое я должен изучить.

Спасибо!

Ответы [ 2 ]

1 голос
/ 17 октября 2010

Посмотрите на Apache Shiro , это действительно круто и ПРОСТО использовать библиотеку безопасности, которая требует минимальных зависимостей, небольшой настройки и не дает суеты, создаете ли вы старое школьное приложение HTML, Flex многофункциональное клиентское веб-приложение или настольное приложение Flex / AIR (или даже Swing).

1 голос
/ 15 октября 2010

Да, имеет смысл то, что вы делаете, я создал похожую систему, но в этом случае я использую обычную аутентификацию, поэтому при отправке HTTPService на сервер я включаю хеш (токен) в заголовок .

Я использую API, созданный коллегой, который отправляет мне токен, когда я выполняю действие входа в систему.

Информация заголовка, которую я отправил, выглядит следующим образом:

myHttpService.headers = {Authorization:"Basic " + encoderString};   

Переменная encoderString создается с использованием имени пользователя и токена, которые сервер возвращает мне, когда я вошел в систему. Я использую эти переменные для создания encoderString:

var encoder:Base64Encoder = new Base64Encoder();
var encoderString:String;    

encoder.encode(login+":"+token);
encoderString=Basics.encoder.toString();
...