2013-11-05 3 views
-1

Это мой код:DistinguishedName атрибут Active Directory

public bool ActiveDirectoryAuthenticate(string username, string password) 
{ 
    var result = false; 

    using (var entry = new DirectoryEntry("LDAP://*****/DC=******,DC=biz",username,password,AuthenticationTypes.Secure)) 
    { 
     var searcher = new DirectorySearcher(entry){Filter = "objectClass=user"}; 

     try 
     { 
      var sr = searcher.FindOne(); 
      var PathDic = sr.Properties["distinguishedName"][0].ToString(); 
      result = true; 
     } 
     catch (Exception exception) 
     { 
     } 
    } 

    return result; 
} 

Проблема заключается в том

sr.Properties["distinguishedName"][0].ToString(); 

не возвращает правильное значение.

Пожалуйста, помогите мне

+1

Что делает ** ** вернуть? И что такое ** правильное ** значение? –

+0

Он возвращает только имя сервера и имя домена, но я хочу вернуть каталоги, которые я сделал – Mohsen

+0

Можете ли вы, пожалуйста, ** ПОКАЗАТЬ США ** пример и объяснить, что вы ожидали/хотели? Я до сих пор не понимаю, какова ваша проблема ... –

ответ

0

только идея, но вы не должны ставить значение как это:

var PathDic = sr.Properties["distinguishedName"][0].Value.ToString(); 
0

Моя проблема решительность:

public bool ActiveDirectoryAuthenticate(string username, string password) 
    { 
     var result = false; 
     using (
      var entry = new DirectoryEntry("LDAP://PT/DC=pt,DC=biz", username, password, 
       AuthenticationTypes.Secure)) 
     { 
      var searcher = new DirectorySearcher(entry) {Filter = "sAMAccountName=Bank.Members"}; 

      searcher.PropertiesToLoad.Add("distinguishedName"); 
      try 
      { 
       var sr = searcher.FindOne(); 
       var name = sr.Properties["distinguishedName"][0].ToString(); 
       result = true; 
      } 
      catch (Exception exception) 
      { 


      } 
     } 

     return result; 
    } 
Смежные вопросы