Я получаю доступ к свойствам AD через метод ниже.Он отлично работает в моем локальном виртуальном жестком диске (где я администратор домена / локального / корпоративного уровня), но то же самое не работает, когда я получаю доступ от пользователя домена (у которого есть только локальный доступ администратора).
Но тот же пользователь домена (только с локальным доступом администратора) получает доступ ко всем деталям свойства AD с помощью инструментов ADExplorer (SysInternal).
Это потому, что это неуправляемый код и API-интерфейсы Windows для доступа и в .Net Iнужен администратор домена или какие-то привилегии?
Или есть другой способ - который мне не хватает в .Net для доступа к свойствам AD без дополнительной привилегии на уровне домена ??
public void getCurrentUserADDetails(string UserName)
{
string ladpQueryStr = "LDAP://sp.com";
DirectoryEntry dirEntry = new DirectoryEntry(ladpQueryStr);
DirectorySearcher srch = new DirectorySearcher(dirEntry);
srch.Filter = "(cn=" + UserName.ToLowerInvariant().Trim() + ")";
srch.PropertiesToLoad.Add("name");
srch.PropertiesToLoad.Add("memberOf");
srch.PropertiesToLoad.Add("prop123");
SearchResult searcResult = srch.FindOne();
if (searcResult != null)
{
ResultPropertyCollection propertiesCollection = searcResult.Properties;
List<DisplayClass> grdDataList = new List<DisplayClass>();
foreach (string strKey in propertiesCollection.PropertyNames)
{
DisplayClass dispC = new DisplayClass();
dispC.pName = strKey;
dispC.pValue = Convert.ToString(propertiesCollection[strKey][0]);
grdDataList.Add(dispC);
}
dataGridView1.DataSource = grdDataList;
}
}
Это будет работать в ASP.Net
заранее спасибо:)