То, как мы это делаем, это
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:
- Сертификат верхнего уровня корневого доверия
- сертификат, который подписал нашу пару ключей
- Наша сгенерированная пара ключей, которую мы отправили на подпись (2).
Если вы не будете соблюдать этот порядок, вы не будете импортировать ваш открытый / закрытый ключ
7) Расположение файла хранилища ключей
Этот файл был помещен в ~ / .keystore для автоматической загрузки tomcat. Ваш сервер может отличаться.
8) использовать безопасный порт веб-сервера
Наконец, нам пришлось раскомментировать tomcat https в конфигурации server.xml, чтобы позволить безопасному каналу работать на порте 8443.
Тогда мы могли бы напечатать:
https://www.oursite.com:8443/ourcontext/login.html
и обеспечьте безопасное общение.