2009-03-28 2 views
8

Я смущен об аутентификации с помощью BlazeDS. Большинство из немногих примеров, которые я нашел для аутентификации и авторизации в BlazeDS, и, следовательно, Java Servlets в целом используют базовую и дайджест-аутентификацию HTTP и полномочия для авторизации. Эти примеры очень упрощены и включают файлы XML с учетными данными пользователя, а не с использованием базы данных. Мой прошлый опыт работы в веб-приложениях использовался для ввода и регистрации на основе форм для аутентификации и авторизации, но я не уверен, как это сделать с приложениями Flex с блейд-серверами BlazeDS.Аутентификация BlazeDS

Что я хочу сделать, так это иметь некоторый способ доступа к некоторой службе на сервере, чтобы обрабатывать аутентификацию, такую ​​как форма HTML, и способ хранения данных сеанса в cookie для авторизации, но у меня возникли проблемы с поиском релевантных сведений с помощью файлов cookie в приложениях BlazeDS и Flex.

Если HTTP-аутентификация с использованием базовой или дайджест-аутентификации является наилучшим способом, то есть ли какой-либо ресурс, чтобы узнать, как аутентифицировать пользователей с учетными данными, хранящимися в базе данных, а не XML-файл?

Меня не интересуют веб-фреймворки, так как я хотел бы понять, как аутентифицировать/разрешать пользователям простой сервлет и BlazeDS.

ответ

7

Аутентификация с помощью BlazeDS и Flex ничем не отличается от традиционных веб-приложений. Flex использует тот же сетевой стек, что и браузер. Поэтому просто следуйте инструкциям по защите вашего сервера приложений, а затем он должен просто работать. Если вы хотите иметь форму входа в Flex, вы можете просто отправить учетные данные в j_security_check (для авторизации на основе формы). Кроме того, вы можете вызывать логин на канале. Spring Security и Spring BlazeDS Интеграция M2 делает это очень просто. Просмотрите Test Drive для отличного примера (имена пользователей и пароли по-прежнему находятся в файле XML, но вы можете легко следовать документации Spring, чтобы переместить их на базу данных или сервер LDAP).

+0

В Тест-драйв, это выглядит как ChannelSet получает сброс на каждом обновлении браузера. Если вы проверили подлинность и обновили страницу и проверили channelSet.authenticated, она говорит false, но ваш вызов remoteObject по-прежнему будет работать. Похоже, вы остаетесь аутентифицированным на Spring, но Flex не знает об этом. Я хотел бы найти способ входа в систему с использованием Spring Security и переносить его на Flex, JSP, независимо от того, как SSO. Я хотел бы иметь возможность проверить с помощью Flex, чтобы убедиться, что вы уже прошли проверку подлинности с помощью Spring (кроме вызова метода взлома и просмотра, если вам отказано в доступе). –

+0

@ I-Never-Finish-Anythi другое решение на стороне клиента должно заключаться в том, чтобы сохранить эту информацию в общем объекте Flash. Сохраните какой-то токен и отметку времени, и если вы допустили проверку подлинности с помощью этого токена. Вызов метода взлома кажется более чистым решением для меня. –

1

Используйте Spring Security и проверьте этот сайт link text. Надеюсь, это поможет.

Смежные вопросы