ASP.NET と Active Directory に問題があります。
ユーザーが Active Directory のグループに属しているかどうかを確認したいのですが、このグループに属している場合は、詳細を表示できます。このために、フィルター文字列を使用して関数を作成します。問題は、当社ではグループを切り替えており、構造が静的ではないことです。このために、最初にグループを検索し、次にパラメーター member-of を使用してグループ内のユーザーを検索します...
ADの構造は次のとおりです。
グループを検索するための私のコードは次のとおりです。
public string GetGroup(string groupname)
{
string path = "<OurDomain>";
DirectoryEntry rootEntry = new DirectoryEntry(path);
DirectorySearcher srch = new DirectorySearcher(rootEntry);
srch.SearchScope = SearchScope.Subtree;
srch.Filter = "(&(objectCategory=Group)(name=" + groupname + "))";
SearchResult resFilter = srch.FindOne();
string filterpath = resFilter.Path;
return filterpath;
}
ユーザーを見つけるための私の方法:
public bool IsUserInGroup(string username,string groupepath)
{
string path = "<OurDomain>";
DirectoryEntry rootEntry = new DirectoryEntry(path);
DirectorySearcher srch = new DirectorySearcher(rootEntry);
srch.SearchScope = SearchScope.Subtree;
srch.Filter = "(&(objectClass=user)(sAMAccountName=*" + username + "*)(memberof=CN=GastzugangUser,OU=SubFolderB,OU=FolderB,DC=company,DC=com))";
SearchResultCollection res = srch.FindAll();
if (res == null || res.Count <= 0)
{
return false;
}
else
{
return true;
}
}
グループのサブグループとそのダイナミックでユーザーを検索するにはどうすればよいですか? :(