C# Active Directory的DifferentiedName属性
这是我的代码:C# Active Directory的DifferentiedName属性,c#,asp.net,.net,active-directory,C#,Asp.net,.net,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 search
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();
不返回正确的值
请帮我一个主意,但你不需要这样评价我吗
var PathDic = sr.Properties["distinguishedName"][0].Value.ToString();
我的问题解决:
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;
}
它的回报是什么?正确的值是多少?它只返回服务器名和域名,但我想返回我制作的目录。请给我们举个例子,并解释您期望/想要什么?我仍然不明白你的问题到底是什么……正确的:CN=BANK.Members,OU=MBank,OU=Development,OU=Technical,OU=pt,DC=pt,DC=biz不正确的:CN=Administrator,CN=Users,DC=pt,DC=biz