コード例 #1
0
 public IEnumerable<User> GetMembers(SharedFolder sharedFolder)
 {
     List<User> members = new List<User>();
     using (PrincipalContext context = new PrincipalContext(ContextType.Domain, ConfigurationManager.AppSettings["Domain"], GetClientDN()))
     {
         GroupPrincipal group = new GroupPrincipal(context, sharedFolder.Name);
         foreach(UserPrincipal adUser in group.Members)
         {
             members.Add(userManager.Find(adUser.SamAccountName));
         }
     }
     return members;
 }
コード例 #2
0
 public IEnumerable<SharedFolder> GetSharedFolders(User user)
 {
     List<SharedFolder> sharedFolders = new List<SharedFolder>();
     using (PrincipalContext context = new PrincipalContext(ContextType.Domain, ConfigurationManager.AppSettings["Domain"], GetClientDN()))
     {
         GroupPrincipal queryFilter = new GroupPrincipal(context);
         PrincipalSearcher searcher = new PrincipalSearcher(queryFilter);
         PrincipalSearchResult<Principal> results = searcher.FindAll();
         foreach (GroupPrincipal result in results)
         {
             if (result.Members.Contains(context, IdentityType.SamAccountName, user.UserName))
             {
                 SharedFolder sharedFolder = new SharedFolder()
                 {
                     Name = result.Name,
                     DistinguishedName = result.DistinguishedName,
                     Path = "Shared/BI"
                 };
                 sharedFolders.Add(sharedFolder);
             }
         }
     }
     return sharedFolders;
 }