<bdo id='La32b'></bdo><ul id='La32b'></ul>
    1. <i id='La32b'><tr id='La32b'><dt id='La32b'><q id='La32b'><span id='La32b'><b id='La32b'><form id='La32b'><ins id='La32b'></ins><ul id='La32b'></ul><sub id='La32b'></sub></form><legend id='La32b'></legend><bdo id='La32b'><pre id='La32b'><center id='La32b'></center></pre></bdo></b><th id='La32b'></th></span></q></dt></tr></i><div id='La32b'><tfoot id='La32b'></tfoot><dl id='La32b'><fieldset id='La32b'></fieldset></dl></div>

    2. <legend id='La32b'><style id='La32b'><dir id='La32b'><q id='La32b'></q></dir></style></legend>

      <small id='La32b'></small><noframes id='La32b'>

        <tfoot id='La32b'></tfoot>

        如何使用带有用户名而不是 CN 的 LDAP 查询 ActiveDirectory?

        How do I query ActiveDirectory using LDAP with a username, not a CN?(如何使用带有用户名而不是 CN 的 LDAP 查询 ActiveDirectory?)
        • <bdo id='TuBvZ'></bdo><ul id='TuBvZ'></ul>
            <tbody id='TuBvZ'></tbody>

            1. <tfoot id='TuBvZ'></tfoot>

                <small id='TuBvZ'></small><noframes id='TuBvZ'>

                <legend id='TuBvZ'><style id='TuBvZ'><dir id='TuBvZ'><q id='TuBvZ'></q></dir></style></legend>
                • <i id='TuBvZ'><tr id='TuBvZ'><dt id='TuBvZ'><q id='TuBvZ'><span id='TuBvZ'><b id='TuBvZ'><form id='TuBvZ'><ins id='TuBvZ'></ins><ul id='TuBvZ'></ul><sub id='TuBvZ'></sub></form><legend id='TuBvZ'></legend><bdo id='TuBvZ'><pre id='TuBvZ'><center id='TuBvZ'></center></pre></bdo></b><th id='TuBvZ'></th></span></q></dt></tr></i><div id='TuBvZ'><tfoot id='TuBvZ'></tfoot><dl id='TuBvZ'><fieldset id='TuBvZ'></fieldset></dl></div>
                  本文介绍了如何使用带有用户名而不是 CN 的 LDAP 查询 ActiveDirectory?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  如果我将 .NET DirectoryEntry.Path 设置为:

                  If I set the .NET DirectoryEntry.Path to something like:

                  LDAP://CN=John Smith,OU=Group Name,DC=example,DC=com
                  

                  一切都很好,我得到了我需要的 DirectoryEntry.但是,我不知道用户的真实通用名 (CN).我只知道他们的用户名John.Smith".

                  Everything works great, and I get the DirectoryEntry I need. However, I don't know the user's true Common Name (CN). I only know their username, "John.Smith".

                  那么,如何查询用户名?我尝试了以下所有没有成功:

                  So, how can I query the username? I have tried all the following without success:

                  LDAP://CN=John.Smith,OU=Group Name,DC=example,DC=com
                  LDAP://sAMAccountName=John.Smith,OU=Group Name,DC=example,DC=com
                  LDAP://userPrincipalName=John.Smith,OU=Group Name,DC=example,DC=com
                  LDAP://userPrincipalName=John.Smith@example.com,OU=Group Name,DC=example,DC=com
                  LDAP://uid=John.Smith,OU=Group Name,DC=example,DC=com
                  LDAP://o=John.Smith,OU=Group Name,DC=example,DC=com
                  

                  推荐答案

                  您不能仅仅通过创建 LDAP 字符串进行查询 - 您需要为此使用代码.

                  You can't just query by means of creating an LDAP string - you'll need to use code for that.

                  类似:

                  DirectoryEntry deRoot = new DirectoryEntry("LDAP://yourserver/CN=Users,dc=YourCompany,dc=com");
                  
                  DirectorySearcher dsFindUser = new DirectorySearcher(deRoot);
                  dsFindUser.SearchScope = SearchScope.SubTree;
                  
                  dsFindUser.PropertiesToLoad.Add("sn"); // surname = last name
                  dsFindUser.PropertiesToLoad.Add("givenName"); // first name
                  
                  dsFindUser.Filter = string.Format("(&(objectCategory=Person)(anr={0}))", yourUserName);
                  
                  SearchResult rseult = dsFindUser.FindOne();
                  
                  if(result != null)
                  {
                     if(result.Properties["sn"] != null)
                     {  
                        string lastName = result.Properties["sn"][0].ToString();
                     }
                  
                     if(result.Properties["givenName"] != null)
                     {  
                        string lastName = result.Properties["givenName"][0].ToString();
                     }
                  }
                  

                  System.DirectoryServices.DirectorySearcher<上的完整 MSDN 文档/a> 类可以在 MSDN 上找到 - 它有很多额外的属性和设置.

                  The full MSDN documentation on the System.DirectoryServices.DirectorySearcher class can be found on MSDN - it has lots of additional properties and settings.

                  如果您使用的是 .NET 3.5,那么使用强类型的例程库来处理用户和组会变得相当容易 - 请参阅此优秀的 有关该主题的 MSDN 文章 了解更多信息.

                  If you're on .NET 3.5, things have gotten quite a bit easier with a strongly-typed library of routines for handling users and groups - see this excellent MSDN article on the topic for more info.

                  希望对你有帮助

                  马克

                  这篇关于如何使用带有用户名而不是 CN 的 LDAP 查询 ActiveDirectory?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Adding and removing users from Active Directory groups in .NET(在 .NET 中的 Active Directory 组中添加和删除用户)
                  How do you determine if two HashSets are equal (by value, not by reference)?(您如何确定两个 HashSet 是否相等(按值,而不是按引用)?)
                  Is there a quot;Setquot; data structure in .Net?(有没有“套路?.Net 中的数据结构?)
                  Collection that allows only unique items in .NET?(仅允许 .NET 中唯一项目的集合?)
                  Adding headers in ASP.NET MVC 3(在 ASP.NET MVC 3 中添加标头)
                  Response.Redirect strips Header Referrer - Possible to Add it Back?(Response.Redirect 剥离 Header Referrer - 可以将其添加回来吗?)

                    <small id='JRRAt'></small><noframes id='JRRAt'>

                  1. <tfoot id='JRRAt'></tfoot>
                      • <bdo id='JRRAt'></bdo><ul id='JRRAt'></ul>
                          <tbody id='JRRAt'></tbody>
                        <legend id='JRRAt'><style id='JRRAt'><dir id='JRRAt'><q id='JRRAt'></q></dir></style></legend>

                      • <i id='JRRAt'><tr id='JRRAt'><dt id='JRRAt'><q id='JRRAt'><span id='JRRAt'><b id='JRRAt'><form id='JRRAt'><ins id='JRRAt'></ins><ul id='JRRAt'></ul><sub id='JRRAt'></sub></form><legend id='JRRAt'></legend><bdo id='JRRAt'><pre id='JRRAt'><center id='JRRAt'></center></pre></bdo></b><th id='JRRAt'></th></span></q></dt></tr></i><div id='JRRAt'><tfoot id='JRRAt'></tfoot><dl id='JRRAt'><fieldset id='JRRAt'></fieldset></dl></div>