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

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.

"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...

"Export to Spreadsheet" option in SharePoint list web part does not export all the columns

We all knew that the SharePoint list can be embedded in a web part page using the list web part. The list web part provides us with various properties which can be customized as per the requirement. One such property is the "Toolbar" . If "Show Toolbar" option is set, we would be provided with 3 tabs namely "New", "Actions" and "Settings".  The list data can be exported to an excel using the "Export to Spreadsheet"  option found under the "Actions" tabs.  Now here is the issue, suppose we have 10 columns in the list and we would like to show only 5 columns in the page, we would create a view in such a way that the page shows only the 5 columns.  If the data is exported from this page using the "Export to Spreadsheet" option, all the columns would definitely get exported, but the values would be exported only for those 5 columns which are shown on the page. This is because, the "Export to Spread...