Ask Learn
Preview
Please sign in to use this experience.
Sign inThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
My Microsoft Consulting Services buddy (David Weinstein) and I couldn’t find any documentation on adding a Site Collection Administrator in SharePoint 2013. I thought I would try to remedy that.
When looking at our documentation I noticed a comment stating that this doesn’t work. At first, I thought maybe the commenter was accurate. When first trying to execute this code, I was greeted with this:
Notice the part I highlighted in red. You need to be a site collection administrator to set this property. At this point I was scratching my head thinking “I am a site collection administrator!”. Then I remembered that I had to request permissions. So I made my app manifest look like this:
I had to request the FullControl permission at the “Site Collection” scope. After doing this and remembering the Update() method on my SP.User object, the code worked successfully.
Note that you do have to already be a site collection administrator to add one.
Here is the code.
User spUser = null;
var spContext = SharePointContextProvider.Current.GetSharePointContext(HttpContext);
using (var clientContext = spContext.CreateUserClientContextForSPHost())
{
if (clientContext != null)
{
spUser = clientContext.Web.EnsureUser("username@domain.com or DOMAIN\LoginName");
spUser.IsSiteAdmin = true;
spUser.Update();
clientContext.Load(spUser);
clientContext.ExecuteQuery();
ViewBag.UserName = spUser.Title;
}
}
Please sign in to use this experience.
Sign in