标签: ldap-query

LDAP组成员资格(包括域用户)

如何获取LDAP组中的用户列表,即使该组恰好是某些用户的主要组?

例如,假设"Domain Users"是德语中的"Domain Leute".我想要"CN = Domain Leute,DC = mycompany,DC = com"的所有成员.我怎么知道这是众所周知的"域用户"组?

或者如果某些用户的主要组被更改为"CN = rebels,DC = mycompany,DC = com",我想获得该组的成员呢?用户的主要组没有memberOf属性,主要组没有列出它们的成员属性.

这是我通过LDAP查看时看到的(即没有MS扩展): 替代文字

ldap adsi member active-directory ldap-query

4
推荐指数
2
解决办法
3万
查看次数

如何通过LDAP请求启用或禁用AD用户帐户?

到目前为止,我已经能够在LDAP中找到用户,但是我不知道如何启用或禁用它们。

第二个问题,如果我的帐户具有“域管理员”权限,是否可以通过LDAP启用或禁用帐户?

注意:这是关于在Windows 2003上运行的Microsoft Active Directory。

我知道我可以通过以下方式查看活动用途

(!(useraccountcontrol:1.2.840.113556.1.4.803:=2))
Run Code Online (Sandbox Code Playgroud)

残疾人使用:

(useraccountcontrol:1.2.840.113556.1.4.803:=2)
Run Code Online (Sandbox Code Playgroud)

问题是我该如何设置属性,使其不会丢失内部的其他二进制标志。

ldap active-directory ldap-query

4
推荐指数
1
解决办法
5615
查看次数

如何使用 UnboundID LDAP SDK 使用用户 ID 在 LDAP 中获取 DN

当我拥有的唯一参数是用户 ID 时,我正在尝试获取用户的 DN(可能不止一个)

正如您所看到的,我也在使用 UnboundID LDAP SDK:

public String getCustomerAdminDN(String uid)
{

    String result =null;
    String filter = "uid=" +uid;
    try {
        SearchResult searchResult = this.ldapConnection.search("",SearchScope.SUB,filter);

        result = searchResult.getMatchedDN();
    } catch (LDAPSearchException e) {
        throw new RuntimeException("Error in the searching query :" + e.getMessage());
    }

  return result;
}
Run Code Online (Sandbox Code Playgroud)

让我们假设我的 uid 属于以下 DN

一个人的感谢

java ldap-query

4
推荐指数
1
解决办法
8687
查看次数

针对 Active Directory 的经典 ASP 身份验证

我有一个经典的 ASP 网站(对不起!)。它的某些部分需要启用 NT 身份验证。

理想情况下,我想向用户提供一个漂亮的登录表单(而不是浏览器提示),然后我对 AD 进行身份验证,然后执行通常的“如果成功则登录,如果失败则显示错误”

这甚至可能吗?我已经在本地计算机上尝试了以下操作,但不确定如何正确测试是否成功,或者是否扩展到针对 AD 进行搜索

<html>
<head>
</head>
<body>
    <form action="test.asp" method="post">
        Username:
        <input type="text" name="strUserName"><br>
        Password:
        <input type="password" name="strPassword"><br>
        <input type="submit" name="btnSubmit">
    </form>
    <%
    If Request.Form("strUsername") <> "" Then
        Dim strADsPath
        strADsPath = "WinNT://ARIA"
        strUserName = Request.Form("strUserName")
        strPassword = Request.Form("strPassword")

        'Set adObject = GetObject("WinNT:")
        'Set userObject = adObject.OpenDSObject("WinNT://" & domainName, userName, password, ADS_SECURE_AUTHENTICATION)


        if (not strADsPath= "") then
            Dim oADsObject
            Set oADsObject = GetObject(strADsPath)

            response.write "Authenticating...<br><br>"

            Dim strADsNamespace
            Dim oADsNamespace

            strADsNamespace = left(strADsPath, …
Run Code Online (Sandbox Code Playgroud)

ldap active-directory ldap-query asp-classic

4
推荐指数
1
解决办法
1万
查看次数

Linux命令行中基于证书的LDAP搜索用户

我想使用 ldapsearch 搜索用户。

但是托管服务提供商提供了一些证书(CA)。我在 ldapconf 中添加了该证书。所以在执行 ldapsearch 命令之前我运行 openssl 如下

openssl s_client -connect 主机名 -CAfile /certificate.pem

通过 openssl 连接后,我在另一个终端中执行以下命令

ldapsearch -h hostname -p portno -D uid=mailid@domain.con, dc=global,dc=example,dc=net 
Run Code Online (Sandbox Code Playgroud)

现在我想知道在执行 ldapsearch 命令时有什么方法可以使用证书

linux ldap ldap-query

4
推荐指数
1
解决办法
2万
查看次数

Spring的LdapTemplate搜索:PartialResultException:未处理的Continuation Reference(s); 剩余名称'/'

我通过LDAP为特定应用程序添加用户,使用spring制作.

虽然这适用于大多数情况,但在某些情况下,它不起作用......

检索我使用的用户:

public class LdapUserServiceImpl implements ILdapUserService {

    @Override
    public List<LdapUserVO> getUserNamesByQuery(String query) {
        return ldapTemplate.search(
            query().countLimit(15)
                    .where("objectClass").is("user")
                    .and("sAMAccountName").isPresent()
                    .and(query()
                            .where("sAMAccountName").like("*" + query + "*")
                            .or("sAMAccountName").is(query)
                            .or("displayName").like("*" + query + "*")
                            .or("displayName").is(query))
            ,
            new AttributesMapper<LdapUserVO>() {
                public LdapUserVO mapFromAttributes(Attributes attrs) throws NamingException {
                    LdapUserVO ldapUser = new LdapUserVO();
                    Attribute attr = attrs.get(ldapUserSearch);
                    if (attr != null && attr.get() != null) {
                        ldapUser.setUserName(attr.get().toString());
                    }
                    attr = attrs.get("displayName");
                    if (attr != null && attr.get() != null) {
                        ldapUser.setDisplayName(attr.get().toString());
                    }
                    return ldapUser; …
Run Code Online (Sandbox Code Playgroud)

spring ldap ldap-query spring-ldap ldap-client

4
推荐指数
1
解决办法
7111
查看次数

如何格式化包含特殊字符的 LDAP 过滤器?(“经典”ASP)

我在通过 LDAP 检索我具有 DistinguishedName 的某些组的信息时遇到问题。\n该问题似乎与它们具有特殊字符有关。

\n\n

这里有两个例子,一个有效,一个无效:
\nAll in Test Group
\nAll in 463\\"567y\\\\22\\"\xc2\xa4&/2#%&! 测试组

\n\n

及其 DN:
\nCN=测试组中的所有内容、OU=Groups、DC=some、DC=test、DC=com
\nCN=463\\"567y\\\\22\\"\xc2 中的所有内容\xa4&/2#%&! 测试组、OU=组、DC=某些、DC=测试、DC=com

\n\n

我知道 dn\ 是正确的,因为我从用户的 ManagedObjects 属性中检索它们,并已在 AD 中验证它们并使用 ADSI 编辑。

\n\n

现在,看看我使用什么代码来检索信息,请注意,此代码在没有特殊字符的组上运行良好:

\n\n
Dim strGroupdisplayName, strGroupsAMAccountname, strGroupmail\n\n\nFunction GetGroupInfofromDN(group_str)\non error resume next\nDIM objGroup, objDNNamespace, strLDAPGroup\nstrLDAPGroup = "LDAP://" + group_str\nSet objDNNamespace = GetObject("LDAP:")\nSet objGroup = objDNNamespace.OpenDSObject(strLDAPGroup, strADUsername, strADPassword,0)\nobjGroup.GetInfo\nstrGroupdisplayName = ""\nstrGroupsAMAccountname = ""\nstrGroupmail = ""\nstrGroupdisplayName = ObjGroup.Get("displayName")\nstrGroupsAMAccountname = ObjGroup.Get("sAMAccountname")\nstrGroupmail = ObjGroup.Get("mail")\nset objGroup = Nothing\nEnd Function\n
Run Code Online (Sandbox Code Playgroud)\n\n

至于我尝试过的...我尝试将组编码为 URI 格式,我尝试用转义的等效字符替换特殊字符:

\n\n
strTemp …
Run Code Online (Sandbox Code Playgroud)

ldap ldap-query asp-classic

3
推荐指数
1
解决办法
2万
查看次数

带通配符的 LDAP 查询

我有一个如下查询

(|(distinguishedName=cn=Game_BI_CHARGE_BACK,ou=Groups,ou=FC,dc=na,dc=company,dc=com)(distinguishedName=cn=Game_BI_Compliance,ou=Groups,ou=FC,dc=na,dc=company,dc=com)(distinguishedName=cn=Game_BI_Finance,ou=Groups,ou=FC,dc=na,dc=company,dc=com)(distinguishedName=cn=Game_BI_GP,ou=Groups,ou=FC,dc=na,dc=company,dc=com)(distinguishedName=cn=Game_BI_MANAGED_CARE,ou=Groups,ou=FC,dc=na,dc=company,dc=com)(distinguishedName=cn=Game_BI_MEDICAID,ou=Groups,ou=FC,dc=na,dc=company,dc=com)(distinguishedName=cn=Game_BI_PowerUser,ou=Groups,ou=FC,dc=na,dc=company,dc=com)(distinguishedName=cn=Game_BI_TRADE,ou=Groups,ou=FC,dc=na,dc=company,dc=com)(distinguishedName=cn=Game_BI_TRICARE,ou=Groups,ou=FC,dc=na,dc=company,dc=com))
Run Code Online (Sandbox Code Playgroud)

我想使用通配符缩短它,所有组名称都以 Game_BI 开头。上面的查询有效,我只是想让它简短一些。

谢谢沙什

ldap active-directory ldap-query

3
推荐指数
1
解决办法
2万
查看次数

ldap3:获取用户的电子邮件地址

我正在使用 python ldap3 模块。我能够连接到我公司的 LDAP 服务。我想使用用户名进行查询并获取该用户的名字/姓氏+电子邮件地址。

我说:

results = conn.search('DC=corp,DC=XXXXXX,DC=com',
                      "(&(objectClass=person)(sAMAccountName=" + user_id + "))")
Run Code Online (Sandbox Code Playgroud)

当我运行这个时,我得到一个匹配:

[DN: CN=YYYY\, ZZZZ,OU=Workers,DC=amr,DC=corp,DC=XXXXXX,DC=com - STATUS: Read - READ TIME: 2020-01-14T20:43:16.146874]
Run Code Online (Sandbox Code Playgroud)

YYYY姓氏也是如此,ZZZZ名字也是如此。但电子邮件不存在。我如何检索它?谢谢。

python ldap ldap-query

3
推荐指数
1
解决办法
9309
查看次数

LDAP 中的域名和 DC

我正在尝试使用 SSL 连接支持 LDAP 的 Active Directory。

但对一些术语感到困惑。帮助我以非常简单的方式理解。

请纠正我

  1. Domain Name or Host Name or DNS:这是运行 Active Directory 服务的服务器地址或名称。

  2. DC or Domain Component or Domain Controller:这是 Active Directory 中的文件夹名称。例如,如果我给出DC=gp,DC=gl,DC=google,DC=com",则gp是 文件夹内部googlegoogle是 文件夹内部com

  3. CN=Dev-India,OU=Distribution Groups:CN是属于 的用户名OU group。该用户将在文件夹结构中查找某些内容 DC=gp,DC=gl,DC=google,DC=com"

  4. 主机名可以类似于顶级 DC(文件夹)名称吗?

  5. LDAP 中的 DC 和 AD 域名和主机名有什么区别?

ldap active-directory ldap-query

3
推荐指数
1
解决办法
1万
查看次数