ASPプロジェクトでC#を使用してLDAPにアクセスするドラマがいくつかあります。これは、ユーザーが私のディレクトリサービス内に存在するかどうかを確認する非常に簡単な例です。
これがコードです。UserExists()関数がfalseを返しています
LDAPクエリがディレクトリサービスにヒットしているかどうかは完全にはわかりません。(Active Directory)
using System.DirectoryServices;
namespace UserManagement
{
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (UserExists("abc"))
lblUserExists.Text = "Found Username";
}
public static DirectoryEntry GetDirectoryEntry()
{
DirectoryEntry de = new DirectoryEntry();
de.Path = "LDAP://OU=Users,OU=Network Users,DC=domain,DC=org";
de.AuthenticationType = AuthenticationTypes.Secure;
return de;
}
public bool UserExists(String UserName)
{
DirectoryEntry de = GetDirectoryEntry();
DirectorySearcher deSearch = new DirectorySearcher();
deSearch.SearchRoot = de;
deSearch.Filter = "(&(objectClass=user) (cn=" + UserName + "))";
SearchResultCollection results = deSearch.FindAll();
return results.Count > 0;
}
}
}