我需要能够获取用户所在组的列表,但我需要显示以下一个/部分/所有属性:
- 专有名称
- 姓名
- cn
- 山姆帐户名
我现在拥有的返回某种名称,但不是上面的任何名称(名称看起来很接近,但并不完全匹配。这就是我正在使用的:
ArrayList groups = new ArrayList();
foreach (System.Security.Principal.IdentityReference group in System.Web.HttpContext.Current.Request.LogonUserIdentity.Groups)
groups.Add(group.Translate(typeof(System.Security.Principal.NTAccount)));
就像我说的那样,上述方法有效,但不会让我得到我的程序所需的正确名称(上面指定的名称)。我需要这个能够与我在调用我的域中的所有组时获得的列表相匹配:
DirectoryEntry dirEnt = new DirectoryEntry("LDAP://my_domain_controller");
DirectorySearcher srch = new DirectorySearcher(dirEnt);
srch.Filter = "(objectClass=Group)";
var results = srch.FindAll();