Skip to main content

SharePoint Site Permissions page throws "Something Went wrong" error

Thought of  sharing my experience on an issue which I encountered recently that took me 10 hrs! to resolve.

To be frank, it consumed an entire day just to understand the issue!

Here it goes,

We all know that the Pages, Lists, Libraries can be shared with other users using the so called "Site Permissions" settings from the "Site Settings" tab or by directly clicking on the "Share" button.

The "Site Permissions" settings can be found under the Site Settings->Users and Permissions.

To my surprise, the "Site Permissions" page started showing "Something went wrong" along with a correlation id. It has to be noted that, there was no issue in accessing the "Site Permissions" of the root site and all other subsites. The issue was only with this particular subsite.

Following are the workaround tried to resolve the issue.

1. Extract the error message from the correlation id either by searching for it in the ULS logs or by executing this simple powershell script.

Merge-SPLogFile -path "D:\ErrorLog.txt" -Correlation "Your-error-correlation-id"

The error message captured in the log was "Token Cache: Failed to get token from distributed cache for "  ( ignoring our server details). 

2. Tried resolving the distributed cache error by following the steps as suggested here : https://www.habaneroconsulting.com/stories/insights/2013/sharepoint-2013-distributed-cache-bug

Followed by server reboot of web front end, APP server and DB server.

No Luck :( !!!

Now, here comes what exactly resolved my issue!

RESET BROKEN INHERITANCE!

It's a known fact that, when we reset any permissions, the existing permissions would be lost. So we first need to check the existing permissions available in the subsite.

We are not able to open the "Site Permisisons" page but we need to get the list permissions. How can we achieve that???

POWERSHELL comes for the rescue :)

Run the following script to extract the list of permissions available in the site.

Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
[void][System.Reflection.Assembly]::LoadWithPartialName
("Microsoft.SharePoint")
$SPSiteUrl = "http://yoursiteurl"
$SPSite = New-Object Microsoft.SharePoint.SPSite($SPSiteUrl);
$ExportFile = "D:\Permissions.csv" 
"Web Title,Web URL,List Title,User or Group,Role,Inherited" | out-file $ExportFile 
foreach ($WebPath in $SPSite.AllWebs)
{
   if ($WebPath.HasUniqueRoleAssignments)
        {
          $SPRoles = $WebPath.RoleAssignments;
          foreach ($SPRole in $SPRoles)
          {
            foreach ($SPRoleDefinition in $SPRole.RoleDefinitionBindings)
            {
                $WebPath.Title + "," + $WebPath.Url + "," + "N/A" + "," +
$SPRole.Member.Name + "," + $SPRoleDefinition.Name + "," +
$WebPath.HasUniqueRoleAssignments | out-file $ExportFile -append
            }
          }
        }           
        foreach ($List in $WebPath.Lists)
        {
           if ($List.HasUniqueRoleAssignments)
           {
             $SPRoles = $List.RoleAssignments;
             foreach ($SPRole in $SPRoles)
             {
               foreach ($SPRoleDefinition in $SPRole.RoleDefinitionBindings)
               {
                    $WebPath.Title + "," + $WebPath.Url + "," + $List.Title + "," +
$SPRole.Member.Name + "," + $SPRoleDefinition.Name | out-file $ExportFile -append
               }
             }
           }
        }
}
$SPSite.Dispose();

Now we are good to reset the broken inheritance using the below script.

Add-PSSnapin microsoft.sharepoint.powershell -ErrorAction SilentlyContinue 
#Variables for Web URL, List Name
$WebURL ="http://yoursiteurl"

#get the list object
$web = Get-SPWeb $WebURL

# Check if web has Unique permission - Root webs always uses Unique permission
if ( ($web.HasUniqueRoleAssignments) -and ($web.IsRootWeb -eq $false ) )
 {
      #Reset broken inheritance
      $web.ResetRoleInheritance()
      Write-host "Broken Inheritance Reset on web:" $web.URL
 }

Try accessing the Site Permissions page NOW :)
Eureka! Its loads !

Now grant the existing permissions manually from the list of permissions extracted.


*Note: Let's us not always rely on the ULS logs. SharePoint sometimes surprises us with unexpected fixes!

Happy SharePointing !!! 

Comments

Popular posts from this blog

"An unexpected error has occurred. Changes to your data cannot be saved" excel SharePoint

“If you’re not making some notable mistakes along the way, you’re certainly not taking enough  business and career chances .” After creating a custom "Export to Excel" button on the SharePoint page as in my previous post:   https://nethrasb.blogspot.com/2020/05/export-to-spreadsheet-option-in.html we encountered an issue, where one of the user received "An unexpected error has occurred. Changes to your data cannot be saved" in the excel sheet to which the data has been exported. But I was able to export the data using "System Account" without any issue!  The user has full control over the site and there should not be any permissions related issues.  What could be the issue then?  It might seem silly but this is what happened. Humans make mistakes :) My fellow team mate who had been asked to create the view, created a "Personal" view instead of creating a "Public" view !  "Personal" view is i...

This site has exceeded its maximum storage limit.Error while uploading file to document library - SharePoint

Issue:  Unable to upload files to SharePoint document library irrespective of the document size. Solution: When you delete items from a SharePoint site, they're sent to the site Recycle Bin. When you delete items from a site Recycle Bin, they're sent to the site collection Recycle Bin.  A SharePoint site collection administrator can view and restore deleted items from the site collection Recycle Bin to their original locations. If an item is deleted from the site collection Recycle Bin, or it exceeds the retention time, it is permanently deleted. 1. Click the gear icon and go to the "Site Settings" page. 2. Under the Site Collection Administration, click on "Recycle bin". 3. Delete the unwanted files.

Unable to create a list from the custom template uploaded to the list gallery in SharePoint online

SharePoint lists can be reused on multiple sites just with a list template without having to create a custom list from the scratch.  This can be accomplished by saving the list as a template (.stp) file from the "List Settings" page. Once the template has been created, it can be uploaded to any number of sites in their "List template Gallery" at the site collection level. From here, the list can be created on any of the subsites under that site collection. The approach is same for SharePoint online as well.  But, in SharePoint online, the list could not be found under the "Add an App" section even after uploading the list template to the gallery. So how to create a list from the template in SPO when it is not listed in the Apps? 1.  Create a Custom List from the site contents and save it as a list template.  2. Click on "Add an App" and choose the OOTB list template. In the pop up where the list name to be mentioned, click on "Advanced optio...