【发布时间】:2019-06-03 01:55:42
【问题描述】:
我无权通过“C#”访问“Active Directory”用户的“employeeID”属性
我无权通过“C#”访问“Active Directory”用户的“employeeID”属性,我验证了用户在同一“Active Directory”的“employeeID”属性中具有值,但是代码“C#”无法访问此属性,我也使用软件“Softerra LDAP Administrator 2019.1”进行了验证,也没有显示。
事实上,我工作的客户给了我他的 VPN 以通过 Forticlient 访问他的网络,他给了我访问他的“Active Directory”的凭据,我已经成功列出了所有用户和其他一般用户特性。 ,但我无法访问“employeeID”属性。
class Program
{
static string ldapGeneral = "figssd.com.pe";
static string ldapAD = "LDAP://112.128.123.18:3258/dc=figssd,dc=com,dc=pe";
static string userAD = "saraoconner@figssd.com.pe";
static string paswoordAD = "GDsds123";
static void Main(string[] args)
{
LeerPropiedades();
Console.WriteLine("Final");
Console.ReadLine();
}
static void LeerPropiedades()
{
try
{
DirectoryEntry searchRoot = createDirectoryEntry();
DirectorySearcher searcher = new DirectorySearcher(searchRoot, "(&(objectClass=user)(objectCategory=person))");
searcher.PropertiesToLoad.Add("cn");
searcher.PropertiesToLoad.Add("employeeID");
searcher.SearchScope = SearchScope.Subtree;
searcher.PageSize = 1000; // Setting the PageSize value to 1000 will return all objects.
SearchResultCollection results = searcher.FindAll();
int i = 0;
foreach (SearchResult item in results)
{
if (item.Properties["employeeID"].Count > 0)
{
Console.Write("/");
Console.WriteLine(Convert.ToString(item.Properties["employeeID"][0]));
}
}
}
catch (Exception ex)
{
Console.WriteLine("Error");
}
}
static DirectoryEntry createDirectoryEntry()
{
DirectoryEntry ldapConnection = new DirectoryEntry(ldapGeneral);
ldapConnection.Path = ldapAD;
ldapConnection.Username = userAD;
ldapConnection.Password = paswoordAD;
ldapConnection.AuthenticationType = AuthenticationTypes.Secure;
return ldapConnection;
}
}
请知道这是否是权限问题的人?
Active Directory 属性图:
【问题讨论】:
标签: c# active-directory ldap