0

I have custom web parts deployed in my SharePoint 2016 solution. Scope for web part features is web. I am facing a weird issue in sub site.

If I break inheritance in sub site and user does not have any permission on parent site, in this case user is getting access denied error in the sub site pages where custom web parts are added. Even if user has full control on sub site. Only time user is able to access the pages if I provide at least read access to user on parent site.

To narrow down the issue I created a new page on sub site and tried to add my custom web part on it. I did not get any web part available for the page, not even the content editor web part. Only site apps were available. And if I provide read access on parent site then I get all the available web parts on the sub site page.

Can anyone explain this behavior to me.

1
  • What do you mean by custom web part? are you adding ootb web part and configuring their properties according to your requirements or something else? Jun 14, 2019 at 13:49

3 Answers 3

2

The parent site or top level site of a site collection holds all of the "standard" bits for the whole site collection. All users In the site clloction will need read access to portions of the root site. Like the Site Assets library, or if it is a publishing site, the Style Library.

2

I believe even with custom deployed web parts, the deployment location is the Web Part Gallery located at: ~sitecollection/_catalogs/wp/Forms/AllItems.aspx

Since that gallery inherits from parent, it pulls in site collection permissions. IF you do decide to break inheritance on that library, I would recommend allowing all authenticated users 'read' permissions. That way you will never have an issue with permissions for web part related events. Individual items will still be security masked so the web parts will never show anything that the user does not have permissions to see.

1

If you are using SharePoint web parts. Then make sure User should have atleast read permission on Web Part Gallery.

Your Answer

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

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