Contributors can edit pages in a multipage meeting

Since I have not posted anything in quite a while and since certain people I work with were bugging me about it (JB!), I will post about an issue I ran into recently.


 I ran into this on my current contract.  We are using the multipage meeting template extensively (the man in charge likes tabs [:D] ) and ran into the issue where users with just Contributor rights could edit any of the pages on these sites other than the Home page.   After banging my head against the wall for a while I figured out that the Contribute group has the List Permission called “Edit Items” which stated “Edit items in lists, edit docuemtns in document libraries, edit Web discussion comments in documents, and customize Web Part Pages in document libraries”.  It was that last part that got me.   Isn’t the ability to modify a page a Site Permission rather than a List Permission?  Guess not in this case.


Since I really needed my Contributors to be able to edit list items and I really did not want them accidently deleting web parts (the old “What Does This Button Do” syndrome) I had to find another option.   Originally I had planned to modify the master page of the site (MWSMaster.default) and get rid of the menu option completely which would stop the users but make it harder for the admins to do thier jobs but while researching this I ran into a bit of good news.


It turns out that the “Site Actions” menu is a “SiteActions” control (go figure!) and each menu entry (including “Edit Page”) is a “MenuItemTemplate” under it.  One of the attributes you can add to a MenuItemTemplate is “PermissionsString” which will allow you to restrict who has access to the item.   By adding:  PermissionsString=”AddAndCustomizePages”   I was able to restrict even further who had access to this menu option so it will no longer show for those users who are just Contributors (actually since there are no entries in this menu that Contributors can see the entire menu does not show!). 


Usual disclaimers apply about modifying the underlying files that make up SharePoint, how it could become unsupported by MS, could be overwritten by a patch, you really should use a Solution to add new master pages, your mileage may vary, etc….