Tomcat + Active Directory
Не думаю, что кому-то может такое понадобиться, но мало ли.
Итак задача сделать логин с помощью учетной записи из Active Directory в приложение работающее на Apache Tomcat.
Tomcat 5.5 + Example Apps(для тестирования)
- Создаем в Active Directory группу Tomcat Group.
- Создаем ключ для SSL соединения.
keytool -genkey -alias tomcat -keyalg RSA
По умолчанию ключ надо создавать с паролем changeit, а положить(сделать линк) ключ в папку с томкатом.
ln -s ~/.keystore /usr/share/tomcat5.5/.keystore
или
cp ~/.keystore /usr/share/tomcat5.5/.keystore
если вам не нравиться такой пароль и путь сделайте его какой нравиться, но в server.xml в *
keystoreFile=»/путь/к/.keystore» keystorePass=»дер_пароль» - Меняем server.xml добавяем + разкоментируем следующие строчки.
Раскоментируем строчки про SSL:
И дописываем следующие строчки:
<Realm className=»org.apache.catalina.realm.JNDIRealm» debug=»99″
connectionURL=»ldap://192.168.1.1:389″ <!— Доменный контроллер —>
connectionName=»CN=ldap,OU=Users,DC=trex,DC=com» <!— Пользователь для авторизации,права по минимум —>
- connectionPassword=»ldap» *<!— Пароль—>
- referrals=»follow» *
- userBase=»OU=Users,DC=trex,DC=com» *<!—Место пользователей—>
- userSearch=»(sAMAccountName={0})» *
- userSubtree=»true» *
- roleBase=»OU=Groups,DC=trex,DC=com» *<!— Место нахождение группы, которая сможет—>
- roleName=»name» *
- roleSubtree=»true» *
- roleSearch=»(member={0})»*
- />*
В некоторых местах пишут, что надо все остальные Realm закоментировать. Я не коментировал, работает.
- Идем в web.xml приложения которое требудет авторизации. В моем случае это. /usr/share/tomcat5.5-webapps/jsp-examples/WEB-INF/web.xml. Убираем там такие же уже существующие теги и добавляем свои вот такие.
.jsp
npuMepbI
Protected Area
.html
.xml
CONFIDENTIAL <!—Перекидывает на SSL порт —>
Tomcat Group <!—Название группы в Active Directory —>
FORM
/security/protected/login.jsp <!—логин скрипт, есть в examples —>
/security/protected/error.jsp <!— error скрипт, есть в examples —>
Tomcat Group Description <!— Описание группы —>
Tomcat Group <!—Название группы в Active Directory —>
- Перезапускаем Tomcat, пробуем зайти на страницу с примерами. Первое, что должно броситься в глаза, это https и изменившийся порт. Потом будет приглашение ввести пароль. Если все сделано правильно, загрузиться страница с примерами.
Удачной настройки.