Forum Discussion
How can I hide the gear icon based off permissions?
- Nov 09, 2020
A spfx extension solved my problem!
In my application customizer I imported SPPermission and then used some js to do what I needed.
My Code below:const canEdit = this.context.pageContext.web.permissions.hasAnyPermissions(SPPermission.manageWeb); if(!canEdit){ let checkExist = setInterval(function() { const element = document.querySelector("#O365_MainLink_Settings_container").firstChild.firstChild.firstChild.firstChild; if(typeof(element) != "undefined" && element != null){ element.parentElement.parentElement.parentElement.remove(); console.log("GFC user only has view rights."); clearInterval(checkExist); } }, 100); }
References:
Setup Environment: https://docs.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment
Build an extension: https://docs.microsoft.com/en-us/sharepoint/dev/spfx/extensions/get-started/build-a-hello-world-extension
Eva Vogel Thank you for your response.
"SharePoint is not a HidePoint" was a good one. Unfortunately in this situation, SP is what ever the project manager wants it to be. Of which they don't want site contents and site usage visible to just every one.
I do like your solution though for what is is worth. In a different scenario (probably most) I think it would really do the trick.
Eva Vogel, The issue is not approval content or publishing content. The issue is if we doesnt want to show the some of the groups(External group) where external users will have access to the content (Lists/Library and all of the items/files). which they don't need to access to all of the content. So prevention is better then cure..so the main purpose is to hide the settings gear from suite .