Example #1
0
        protected SharePointUserGroup.UserGroupSoapClient GetUserGroupServiceClient(string siteCollectionUrl)
        {
            BasicHttpBinding binding  = GetUserGroupServiceBinding();
            EndpointAddress  endPoint = new EndpointAddress(siteCollectionUrl + "/_vti_bin/usergroup.asmx");

            SharePointUserGroup.UserGroupSoapClient client = new SharePointUserGroup.UserGroupSoapClient(binding, endPoint);
            client.ClientCredentials.Windows.ClientCredential          = System.Net.CredentialCache.DefaultNetworkCredentials;
            client.ClientCredentials.Windows.AllowedImpersonationLevel = TokenImpersonationLevel.Impersonation;

            return(client);
        }
Example #2
0
        public virtual Dictionary <string, SpUserDetail> GetSiteCollectionAdministrators()
        {
            Dictionary <string, SpUserDetail> users = new Dictionary <string, SpUserDetail>();

            SPSite siteCollection = null;

            try
            {
                if (!ConnectionSetting.SiteCollectionId.Equals(Guid.Empty))
                {
                    siteCollection = new SPSite(ConnectionSetting.SiteCollectionId);
                }
                else
                {
                    siteCollection = new SPSite(ConnectionSetting.SiteCollectionUrl);
                }

                SharePointUserGroup.UserGroupSoapClient client = GetUserGroupServiceClient(siteCollection.Url);
                XElement usersXml = client.GetUserCollectionFromSite();
                SpUserDetailContainer usersContainer;
                using (StringReader userStringReader = new StringReader(usersXml.FirstNode.ToString(SaveOptions.DisableFormatting)))
                {
                    XmlSerializer userSerialiser = new XmlSerializer(typeof(SpUserDetailContainer), "http://schemas.microsoft.com/sharepoint/soap/directory/");
                    usersContainer = (SpUserDetailContainer)userSerialiser.Deserialize(userStringReader);
                }

                foreach (SpUserDetail user in usersContainer.Items)
                {
                    if (user.IsSiteAdmin)
                    {
                        users.Add(user.LoginName, user);
                    }
                }
            }
            finally
            {
                if (siteCollection != null)
                {
                    siteCollection.Dispose();
                    siteCollection = null;
                }
            }

            return(users);
        }
Example #3
0
        protected Dictionary <int, SpGroupDetail> GetGroups(SPSite siteCollection)
        {
            Dictionary <int, SpGroupDetail> groups = new Dictionary <int, SpGroupDetail>();

            SharePointUserGroup.UserGroupSoapClient client = GetUserGroupServiceClient(siteCollection.Url);
            XElement groupsXml = client.GetGroupCollectionFromSite();
            SpGroupDetailContainer groupsContainer;

            using (StringReader groupStringReader = new StringReader(groupsXml.FirstNode.ToString(SaveOptions.DisableFormatting)))
            {
                XmlSerializer groupsSerialiser = new XmlSerializer(typeof(SpGroupDetailContainer), "http://schemas.microsoft.com/sharepoint/soap/directory/");
                groupsContainer = (SpGroupDetailContainer)groupsSerialiser.Deserialize(groupStringReader);
            }
            foreach (SpGroupDetail group in groupsContainer.Items)
            {
                groups.Add(group.Id, group);
            }

            return(groups);
        }
Example #4
0
        protected Dictionary <string, SpUserDetail> GetUsersInGroup(SPSite siteCollection, string groupName)
        {
            Dictionary <string, SpUserDetail> users = new Dictionary <string, SpUserDetail>();

            SharePointUserGroup.UserGroupSoapClient client = GetUserGroupServiceClient(siteCollection.Url);
            XElement usersXml = client.GetUserCollectionFromGroup(groupName);
            SpUserDetailContainer usersContainer;

            using (StringReader userStringReader = new StringReader(usersXml.FirstNode.ToString(SaveOptions.DisableFormatting)))
            {
                XmlSerializer userSerialiser = new XmlSerializer(typeof(SpUserDetailContainer), "http://schemas.microsoft.com/sharepoint/soap/directory/");
                usersContainer = (SpUserDetailContainer)userSerialiser.Deserialize(userStringReader);
            }
            foreach (SpUserDetail user in usersContainer.Items)
            {
                users.Add(user.LoginName, user);
            }

            return(users);
        }
      protected SharePointUserGroup.UserGroupSoapClient GetUserGroupServiceClient(string siteCollectionUrl)
      {
         BasicHttpBinding binding = GetUserGroupServiceBinding();
         EndpointAddress endPoint = new EndpointAddress(siteCollectionUrl + "/_vti_bin/usergroup.asmx");
         SharePointUserGroup.UserGroupSoapClient client = new SharePointUserGroup.UserGroupSoapClient(binding, endPoint);
         client.ClientCredentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials;
         client.ClientCredentials.Windows.AllowedImpersonationLevel = TokenImpersonationLevel.Impersonation;

         return client;
      }