当前位置: 首页 > 知识库问答 >
问题:

使用用户组的Ldap模板身份验证

马寒
2023-03-14

我坚持使用spring ldaptemplate身份验证方法返回零计数,同时使用group字符串,下面的字符串。

cn=jirra-acdolite-dg,ou=jira安全组,ou=apps安全组,ou=Security组,ou=global,ou=bt,dc=barcadero,dc=com

    try {
        LdapContextSource ctxSrc = new LdapContextSource();

        ctxSrc.setUrl(url);
        // ctxSrc.setBase(base);
        ctxSrc.setUserDn(ManagerDn);
        ctxSrc.setPassword(ManagerPassword);

        ctxSrc.setReferral("follow");

        ctxSrc.afterPropertiesSet();

        LdapTemplate ldapTemplate = new LdapTemplate(ctxSrc);

        System.out.println("50");
        ldapTemplate.afterPropertiesSet();
        AndFilter andfilter = new AndFilter().and(new EqualsFilter("objectCategory", "person"))
                .and(new EqualsFilter("objectClass", "user")).and(new EqualsFilter(SearchAttributes, userDn))
                .and(new EqualsFilter("memberOf:1.2.840.113556.1.4.1941:",
                        "CN=Jirra-Acdolite-DG,OU=Jira Security Group,OU=Apps Security Group,OU=Security Groups,OU=Global,OU=BT,DC=barcadero,DC=com

如下所示的错误消息。

2018年2月15日12:32:52上午org.springframework.ldap.core.ldaptemplate身份验证信息:搜索未找到结果,基本:cn=jirra-acdolite-dg,ou=jira安全组,ou=apps安全组,ou=Security组,ou=global,ou=bt,dc=barcadero,dc=com

共有1个答案

陆晓博
2023-03-14

如果您试图对特定组下的用户进行身份验证,请尝试获取该组下的所有用户并在其中进行搜索(我是这样做的)

AndFilter filter = new AndFilter();
filter.and(new EqualsFilter("memberOf:1.2.840.113556.1.4.1941:", groupDN));
filter.and(new EqualsFilter("objectClass", "user"));

return ldapTemplate.search(DistinguishedName.EMPTY_PATH, filter.encode(), new ContractAttributeMapperJSON());
}
 类似资料:
  • 我已经安装了OpenLDAP服务器。 如何在LDAP服务器中添加用户(条目)?以及如何打开该服务器的命令窗口,以便在其上运行ldap命令: :我的要求是:在我的应用程序中,我想对Openldap服务器中添加的用户进行身份验证,但我只能在windows os上安装Openldap服务器,但如何添加用户我无法获得方法。在Windows7操作系统上安装openLDAP whic时添加用户的方法是什么?这

  • 我有一个asp。net(C#)设置为使用LDAP进行身份验证。一切正常,我可以和我们目录中的任何用户一起登录。问题是,我需要将某些页面限制为特定组中的人。我正在使用登录查看帐户文件夹的方法。 我的网站设计很简单,它有三个页面,一个供所有人查看(账户文件夹之外),另外两个需要身份验证。我希望一个组可以访问两个网页,另一个组只能访问其中一个网页。 我试过: 但不管我的用户不在该组中。我有一个LDAP浏

  • 我正在尝试从Ldap服务器对用户进行身份验证。 以下是我的Ldap用户: 我的管理员的路径是cn=admin,dc=ldap,dc=agem,dc=com 我错过了什么?

  • 我已经创建了一个Restful应用编程接口。我在这里使用LDAP身份验证。我们公司有一个LDAP目录服务器,我在我的中使用下面的方法。 这是我的LDAP身份验证方法,我将此方法用作服务层中的实用程序。 这是我的服务层类,我将实用程序类作为一种注入,可以用于身份验证方法。当我以swagger或postman用户名和密码发送请求时,给定来自请求的值,我会将它们保存到表的数据库中。但在坚持之前,身份验证

  • 我正在尝试使用passport ldapauth npm验证openLDAP用户名和密码。在执行下面的代码时,我总是收到错误消息:“缺少凭据”。请帮助我我的代码有什么问题。 有关更多详细信息,请参阅此badRequestMessage flash消息以查找缺少的用户名/密码(默认值:“缺少凭据”)

  • 我正在尝试在ms access 2010中使用用户名和密码进行ldap身份验证。我似乎无法理解这一点,并在网上尝试了不同的代码,但似乎都不起作用。有人能帮忙吗? 以下是我从这里学到的 我收到的错误是 “错误:服务器无法运行。-2147217865” 更改为ip地址立即获取以下错误 ,但它可能来自其他地方在我的代码.我将如何检查,如果ldap是成功的?