Мои 2 цента:
- У нас есть приложение Flex, и наш экран входа в систему является частью приложения Flex. Мы не используем SSL, но вы можете определить безопасный канал, если он вам нужен (но вам не нужен);
- Мы создали наш собственный экземпляр класса адаптера на сервере (который расширяет тот, который поставляется с BlazeDS). Идея состоит в том, что этот класс будет проверять, имеет ли сеанс, к которому принадлежит этот запрос, аутентифицированного пользователя или нет. В методах / классах Flex (на стороне Java) мы использовали аннотации для информирования класса адаптера о требованиях, которые должны быть выполнены для вызова этого метода - мы называем эти аннотации «FlexService» (для класса) и « FlexMethod "(для метода);
- Основная причина этого заключается в том, чтобы избежать вызова метода, если пользователь не был ранее аутентифицирован, и мы хотим более детального контроля, чем просто "заблокировать всех". У нас есть лицензионные требования, и эта библиотека также отвечает за проверку того, есть ли у пользователя лицензия и остается ли эта лицензия действительной для каждого запроса.
- Не забудьте хешировать свой пароль перед сохранением в базе данных и сравнивать только хеш. Вы можете хешировать его один раз в клиенте Flex (чтобы открытый пароль никогда не отправлялся на сервер) и снова хэшировать значение хеширования, прежде чем сохранить его в базе данных (так что, если кто-то получит хешированные пароли вашей базы данных, он все равно не сможет взломать в вашу систему, потому что у него не будет исходного хэшированного значения, которое было отправлено из клиента Flex).
Я почти уверен, что получу некоторые отрицательные отзывы, если BlazeDS реализует все вышеперечисленное, но мне не понравилось то, что я обнаружил, что является родным для него, и я подумал, что использование аннотаций было хорошим решением, особенно потому, что мы были в любом случае, используя аннотации, чтобы пометить методы, которые были методами BlazeDS (поэтому IntelliJ перестанет беспокоить нас о методах, которые нигде не вызываются).