Мои 2 цента:
- Это мы есть Flex приложение и наш экран Логин является частью приложения Flex. Мы не используем SSL, но вы можете определить безопасный канал, если он вам нужен (но вы этого не сделаете);
- Мы создали собственный экземпляр класса адаптера на сервере (который расширяет тот, который поставляется с BlazeDS). Идея состоит в том, что этот класс будет проверять, имеет ли сеанс, к которому принадлежит этот запрос, аутентифицированный пользователь или нет. В методах/классах Flex (со стороны Java) мы использовали аннотации для информирования класса адаптера о требованиях, которые должны быть выполнены для того, чтобы этот метод был вызван - мы называем эти аннотации «FlexService» (для класса) и « FlexMethod "(для метода);
- Основная причина этого заключается в том, чтобы избежать вызова метода, если пользователь ранее не был аутентифицирован, и мы хотим получить более гранулированный контроль, чем просто «заблокировать всех». У нас есть требования к лицензированию, и эта библиотека также отвечает за проверку того, имеет ли пользователь лицензию, и если эта лицензия по-прежнему действительна для каждого запроса.
- Не забудьте сохранить свой пароль перед сохранением его в базе данных и сравнить только хэш. Вы могли бы хэшировать его один раз в клиенте Flex (поэтому пароль для открытия никогда не отправляется на сервер) и хешировать хешированное значение еще раз, прежде чем сохранять его в базе данных (чтобы, если кто-то получил ваши хэшированные пароли, он все равно не может взломать в вашу систему, потому что у него не будет оригинального хешированного значения, которое было отправлено клиентом Flex).
Я уверен, что я буду получать некоторые downvotes если BlazeDS реализует все выше, но мне не понравилось то, что я обнаружил, что был родным для него, и я подумал, что использование аннотаций является хорошим решением, особенно потому что мы все равно использовали аннотации, чтобы отметить методы, которые были методами BlazeDS (поэтому IntelliJ перестанет беспокоить нас о методах, которые нигде не называются).
Я бы предложил использовать SSL и аутентификацию, но это может звучать snarky. :) Более серьезно, нам нужно знать более подробную информацию ... используете ли вы весну (весна-безопасность будет хорошо работать с Flex/Blaze) или какой-то другой каркас? Вы хотите SSL? Вам нужна страница входа в систему (jsp-style) или логин в вашем приложении flex? – jsight
- Flex будет входить в систему, поэтому в RemoteObject я установлю учетные данные - Я не знаю, приходит ли аутентификация и авторизация с BlazeDS (например, WebORB и WebORB смотрели на BlazeDS для своего продукта) - SSL не нужен - Я видел некоторые ссылки в Интернете, рассказывающие о весенней безопасности, поэтому я проверю это. –