Я студент колледжа, и я делаю заявление в Springboot для аутентификации пользователя с помощью ldap.
Я смог сделать это с помощью ldap.unboundid, но теперь я хочу отобразить имя всех пользователей на серверах ldap, возможно ли это, и если да, не могли бы вы привести несколько примеров?
Вот мой код, который аутентифицирует пользователя в ldap:
public class LDAPAuthentication implements Authentication {
LdapConfigurations ldapConfig;
LDAPConnection ldapConnection;
SearchResult searchResult;
public LDAPAuthentication(LdapConfigurations ldapConfig) {
this.ldapConfig = ldapConfig;
}
@Override
public UserEntity authenticate(String username, String password) {
try {
LDAPURL ldapUrl = new LDAPURL(ldapConfig.getUrl());
LDAPConnectionOptions ldapConnectionOptions = new LDAPConnectionOptions();
ldapConnectionOptions.setConnectTimeoutMillis(50);
ldapConnection = new LDAPConnection(ldapConnectionOptions, ldapUrl.getHost(), ldapUrl.getPort(),
username + ldapConfig.getLdapDomain(), password);
ldapConnection.bind(username + ldapConfig.getLdapDomain(), password);
String lookup = String.format("(%s=%s)", "sAMAccountName", username);
SearchRequest searchRequest = new SearchRequest(ldapConfig.getBaseDn(), SearchScope.SUB, lookup);
searchResult = ldapConnection.search(searchRequest);
ldapConnection.close();
} catch (LDAPException e) {
e.printStackTrace();
return null;
}