Аутентификация LDAP с использованием домена безопасности jboss
В веб-приложении, работающем на JBOSS EAP 6, использующем Spring 4.1.6, Spring Security 4.0.1 и JavaConfig, мы пытаемся реализовать аутентификацию LDAP, но вместо определения свойств сервера LDAP (url и т. Д.) В конфигурации (AuthenticationManagerBuilder auth) метод, который мы хотели бы получить свойства из домена безопасности JBOSS, который уже настроен на контейнере и имеет все необходимые свойства.
Мы попробовали несколько вещей и искали в Интернете подходы для достижения этой цели, но не смогли найти решение.
Это то, что у нас сейчас есть:
/WEB-INF/jboss-web.xml: домен безопасности jboss-web java:/jaas/ad-ldap домен безопасности jboss-web
Класс конфигурации безопасности:
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.httpBasic().realmName("ad-ldap");
http.formLogin().loginPage("/login").loginProcessingUrl("/loginProcess");
}
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth
.ldapAuthentication()
.userSearchBase("OU=users,DC=local")
.userSearchFilter("(sAMAccountName={0})")
.groupSearchBase("OU=groups,DC=local")
.groupSearchFilter("sAMAccountName={0}");
}
}
Спасибо
1 ответ
Вам нужно только определить URL-адрес сервера LDAP в домене безопасности в автономном XML.
http://www.mastertheboss.com/jboss-server/jboss-security/configure-jboss-with-ldap?start=1 Но обратите внимание, что в приведенном выше примере элемент имени Realm в вашем файле web.xml должен быть:
<realm-name>LDAPAuth</realm-name>