c# - ldap queries wildcards tricks

sometimes you may ask to help find out the attribute name of a property that you wish to query. for exaple, you may want to query for the country where the user is sitting.

 

The problem is something you don't know what is the right attribute to use. but you can always try with the following trick.

 

 

 

      Search search = new FWD2Search();

      try
      {
        Person p = search.GetPersonByLogon("boqwang", new[] { "*" });

        if (p != null)
        {
          if (p.AttributesCollection.Contains("country"))
          {
            Console.WriteLine(string.Format("the country for person boqwang is {0}", p.AttributesCollection.Item("country")));
          }

        }

      }
      catch (Exception e)
      {
        Console.Error.WriteLine("Failed to retrieve the Person's attribute, \n\nexception = {0}", e.ToString());
      }
      finally
      {
        search.Dispose();
      }
 

 

 

the trick here is the seach wildcards, "*", if you don't know which specific attribute to query, you can probably pass in the search wildcards;

 

Then in the debugger, you probablly can hover over the AttributesCollection property, and browse through the collection of the values it has.

 

 

in this case,  you may guess that you can use mshomecountry or c as the attribute to search for where the people is from.

 



 

Joe,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值