-1
在分享点解决方案中,我需要从AD组获得所有用户,目前AD组可以有30个用户,但将来我们可以替换AD一个拥有1000个用户的组。并且因为每个用户在每个请求(其导航组件显示/隐藏OneDrive链接)上都执行此代码,所以我需要它尽可能高效。如何知道用户是否在AD组中有效存在
// Get all users from a group recursively.
var context = new System.DirectoryServices.AccountManagement.PrincipalContext(ContextType.Domain);
GroupPrincipal group = new GroupPrincipal(context ,farm.Properties[GlobalNavigationConstants.Keys.GlobalNavigationOneDriveADGroup].ToString());
PrincipalSearchResult<Principal> members = group.GetMembers(true);
var list = members.OfType<UserPrincipal>().ToList();
//Get current user
var loginName = SPContext.Current.Web.CurrentUser.LoginName;
//How to check if loginname is on list efficiently?
我该如何尽可能快地做到这一点?