Как вы делаете аутентификацию в своем приложении Flex? - PullRequest
4 голосов
/ 17 декабря 2008

Встраиваете ли вы все свои логин, создание учетной записи, восстановление пароля и т. Д. В свое приложение Flex, или вы сохраняете все это на веб-страницах и перенаправляете только на .swf при успешном входе?

Ответы [ 5 ]

2 голосов
/ 16 августа 2010

То, как мы это делаем, это

1) Гибкая внешняя сторона, разговаривающая через удаленный объект с Java Facade на веб-сервере.

Java:

public class AdminServer {
  //injected into contr..
  private final LdapService ldapService;

  public UserDisplay authenticate(String username, String password) {
    return ldapService.authenticate(username,password);
  }
}

2) Аутентификация Ldap и обработка исключений

Затем Java выполняет вызов сервера ldap через метод делегата (опущен), объект UserDisplay заполняется и всегда возвращается с состоянием, представляющим успех / сбой / исключение, и Уровень аутентификации пользователя. Вы можете сделать это по своему усмотрению.

3) Затем мы выставляем AdminServer в качестве гибкого пункта назначения в spring / config как:


Важно, чтобы destination = "adminServer" (ниже) соответствовал идентификатору компонента в конфигурации пружины (выше).

4) В гибком коде: ..

5) Использование AMFSecureChannel Чтобы предотвратить отправку пароля в открытом виде из flex-> java, вам также необходимо использовать канал AMFSecure в файле конфигурации Flex, установив его по умолчанию.

6) Используйте сертификат Ldap и хранилище ключей для защиты связи java-> ldap

У java должен быть сертификат ldap для шифрования, что в нашем случае означало настройку файла хранилища ключей (см. Java keytool) на сервере (Tomcat) со следующим импортированным в ORDER:

  1. Сертификат верхнего уровня корневого доверия
  2. сертификат, который подписал нашу пару ключей
  3. Наша сгенерированная пара ключей, которую мы отправили на подпись (2).

Если вы не будете соблюдать этот порядок, вы не будете импортировать ваш открытый / закрытый ключ

7) Расположение файла хранилища ключей

Этот файл был помещен в ~ / .keystore для автоматической загрузки tomcat. Ваш сервер может отличаться.

8) использовать безопасный порт веб-сервера Наконец, нам пришлось раскомментировать tomcat https в конфигурации server.xml, чтобы позволить безопасному каналу работать на порте 8443.

Тогда мы могли бы напечатать: https://www.oursite.com:8443/ourcontext/login.html

и обеспечьте безопасное общение.

1 голос
/ 24 декабря 2008

Мы делаем нашу страницу входа в HTML / JavaScript и используем вызовы службы AJAX. Мы никогда не трогаем наш код Flex .swf, пока пользователь не пройдет успешную аутентификацию. На этой странице мы также проверяем наличие Flash-плеера и версию, достаточную для запуска нашего кода Flex.

На стороне сервера мы используем Tomcat, BlazeDS и Spring-Framework. У нас есть контроллеры Spring, которые перенаправляют любые попытки неаутентифицированного доступа - удаленные вызовы BlazeDS и т. Д. - на страницу входа. Мы используем безопасность Spring для управления аутентификацией и разрешениями ролей пользователей (раньше это называлось безопасностью Acegi, но теперь оно объединено под зонтиком Spring).

Раньше мы пытались сделать страницу входа во Flex, но отказались из-за некоторых странных ошибок фокуса. Мы не могли сосредоточиться на том, чтобы всегда быть надежно в поле редактирования учетных данных. На форумах было выявлено, что при первом доступе к форме Flex возникла проблема с фокусом.

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

1 голос
/ 17 декабря 2008

Мы делаем все это во Flex в довольно сложном приложении, нет причин переходить на HTML. Поскольку Flex передает (без сохранения состояния) HTTP бэкэнду, если вы используете AMF, вам все равно нужна поддержка сеансов во Flex.

1 голос
/ 17 декабря 2008

Я близок к завершению в гибком приложении среднего размера, у которого есть бэкэнд Drupal. Я использовал RemotObjects, общающиеся через AMFPHP с drupal для всех процедур входа и проверки. Единственное, для чего я перенаправляю в HTML - это регистрация новых пользователей. Однако, зная заранее, что Drupal, Flex и AMFPHP отлично сыграли вместе, определенно упростили решение!

0 голосов
/ 17 декабря 2008

Довольно просто общаться с сервером через http (обычный веб-сервер) во флэш-памяти. Если вы не интенсивно обмениваетесь данными с сервером, AMF может оказаться излишним, а JSON, XML или вашего собственного формата будет более чем достаточно.

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/net/URLLoader.html

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/net/URLRequest.html

РЕДАКТИРОВАТЬ: Я имею в виду не говорить вспышки, а не сгибать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...