首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从ldap服务器获取所有用户名

从ldap服务器获取所有用户名
EN

Stack Overflow用户
提问于 2019-03-21 04:17:52
回答 1查看 199关注 0票数 0

我是一名大学生,我正在使用springboot对ldap用户进行身份验证。我可以使用ldap.unboundid做到这一点,但是现在我想显示ldap服务器上所有用户的名称,这可能吗?如果可能,您能举一些例子吗?

下面是我在ldap中对用户进行身份验证的代码:

代码语言:javascript
运行
复制
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;

    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-21 21:12:40

如果您正在查询AD,您将需要对AD进行更改,或者,您将需要分页结果。在https://docs.ldap.com/ldap-sdk/docs/getting-started/controls.html上搜索“简单的分页结果控件”

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55269507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档