9

I have a user who is listed as a site owner on the site with full control. User also has full control permissions to access request list. Now when he goes to Pending request page and tries to approve the pending request. User encounters an error stating "Request Approval Failed". issue clears up if i upgrade that user to SCA(Site Collection Admin)

How can i fix this issue, i dont see any thing specific in SharePoint Logs.

Environment :SharePoint 2013 Server

Thank You

2

3 Answers 3

7

Permissions reset for Access requests

The solution was to re-run the original permissions setup of the site, and specify the new Site Owners group as the Owners of the site. To get there, construct a URL like this:

http[s]://[HostName]/Sites/[Path-To-Site]/_layouts/15/permsetup.aspx

This will open up the groups for the site. Click OK.

Once you've re-defined the default owners group in PermSetup.aspx, your new Site Owners group will be able to manage access requests.

2
  • 1
    Thanks for answer. it saved lot of time and this even applies for SharePoint Online.
    – kesava
    Nov 14, 2015 at 1:52
  • Does re-running the permission setup page (permsetup.aspx) remove or reset all custom (unique) permissions in the site?
    – TempaC
    Jun 28, 2018 at 13:11
2

This knowledge base article tells how to get to the list settings for the access request list to fix its permissions: https://support.microsoft.com/en-us/kb/2911390

Essentially, you use the developer tools network tab to get the response body of the access request "pendingreq.aspx" page, then search the page for "pagelistid:" which shows you the GUID for the list. Use that GUID to construct the URL of the list settings page, which is https:///_layouts/15/ListEdit.aspx?List=<{GUID}>.

From the list settings page, you can edit the permissions and make sure the appropriate Owner's group is given Full Control on the list.

2
  • This doesn't work for On-Prem. The referenced document is for SharePoint Online.
    – Oxossi
    Aug 12, 2016 at 14:38
  • it is not working even the access requests list has full control access for owner group and i am listed in the owner group. any suggestions.
    – kesava
    May 2, 2018 at 5:34
1

Also, there are chances especially in the case of migrated sites that access requests list doesnt have proper permissions. in that case you need to go to the permissions of the access requests of which there is no easy way to find. I wrote the below script to find the GUID and use it with the below sample url :

https://test.sharepoint.com/sites/abcd/_layouts/15/ListEdit.aspx?List=GUID

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client") [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.Runtime")

Function Get-SPOContext([string]$Url,[string]$UserName,[string]$Password) { $SecurePassword = $Password | ConvertTo-SecureString -AsPlainText -Force $context = New-Object Microsoft.SharePoint.Client.ClientContext($Url) $context.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($UserName, $SecurePassword) return $context }

$UserName = "[email protected]" $Password = Read-Host -Prompt "Enter the password" $Url = "https://test.sharepoint.com/sites/abcd"

$Context = Get-SPOContext -Url $Url -UserName $UserName -Password $Password

$list = $Context.Web.Lists.GetByTitle("Access Requests")

$Context.Load($list)

$Context.ExecuteQuery()

Write-Output $list.ID

$Context.Dispose()

Then you can correct the permissions of the list with correct groups with users in them.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.