Вот мой код:
private DirContext createContext() {
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "org.springframework.ldap.core.support.LdapContextSource");
env.put(Context.PROVIDER_URL, "ldap://FAKESERV.fakedom:389/");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, "fakeuser@fakedom");
env.put(Context.SECURITY_CREDENTIALS, "1qaz!QAZ");
try {
return new InitialDirContext(env);
} catch (NamingException e) {
throw new RuntimeException(e);
}
}
Работает нормально, но я должен использовать конфигурацию xml.
<bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource">
<property name="url" value="ldap://FAKESERV.fakedom:389/"/>
<property name="base" value="ou=FAKESERV.fakedom"/>
<property name="userDn" value="uid=fakeuser@fakedom"/>
<property name="password" value="1qaz!QAZ"/>
<property name="contextFactory" value="com.sun.jndi.ldap.LdapCtxFactory"/>
</bean>
Использование ldapTemplate.getContextSource().getReadOnlyContext()
У меня ошибка 525 - «Пользователь не найден».Как изменить этот xml?
server: FAKESERV
fomain: fakedom
user: fakeuser
url: ldap://FAKESERV.fakedom:389/
Все свойства в Active Directory установлены по умолчанию.
Кроме того, как выполнить запрос ldap для поиска какого-либо пользователя?
UPD:сейчас я использовал импл.для ActiveDirectory:
<bean id="authenticationToken" class="org.springframework.security.authentication.UsernamePasswordAuthenticationToken">
<constructor-arg value="fakeuser@fakedom" />
<constructor-arg value="1qaz!QAZ" />
</bean>
<bean id="authenticationProvider"
class="org.springframework.security.ldap.authentication.ad.ActiveDirectoryLdapAuthenticationProvider">
<constructor-arg value="fakedom" />
<constructor-arg value="ldap://FAKESERV.fakedom:389/" />
</bean>
все работает нормально, спасибо.
сейчас я пытаюсь отправить ldap-запрос на сервер ...