我对 Active Directory GroupPrincipal 有疑问。基本上我有以下代码:
IEnumerable<GroupPrincipal> GetGroups(string userName)
{
var domain = new PrincipalContext(ContextType.Domain);
var user = new UserPrincipal(domain){SamAccountName = userName};
var searcher = new PrincipalSearcher(user);
user = searcher.FindOne() as UserPrincipal;
var sId =new SecurityIdentifier("S-1-1-0"); // WellKnownSidType.Everyone
var groups = user.GetGroups().OfType<GroupPrincipal>().Where(gp => !sId.Equals(gp.Sid));
return groups;
}
让我们假设 userName='Bart' 我们有两个关联的组:' operator ' 和' maintainer '。
在我的应用程序中,我实施了一个用户管理,可以访问我们域中的 Active Directory。在我的应用程序中,我可以以“Bart”身份登录并选择“维护者”或“操作员”。想法是在我的本地应用程序中为具有角色:'维护者'的用户提供更多“管理权限”。对窗户等没有影响。
在域控制器中“操作员”和“维护者”的定义没有管理权限。问题:我可以为组“维护者”设置任何属性、属性或类似的东西,以便区分我的应用程序中的操作员或维护者吗?
我的后备解决方案是将这种区别绑定到组名本身?但是没有更好的解决方案吗?