I call BreakRoleInheritance on a document (the actual list item) in order to assign someone of less permissions the 'contribute' rights to that particular item. In doing that, have I 'broke' the permissions of those who previously had full rights to all of the items in the document library? Or do the permissions granted on the whole document library override the item-level permissions despite breaking inheritance?


2 Answers 2


Answer to both of your question is - no, from msdn breaking role inheritance means - "role assignments on the parent object no longer apply to the child object, for example, so that role assignments on a list no longer apply to a list item." So permission granted on the document library (parent object in your case) never overrides the item level permission (child objects) after you break the role inheritance. You have not 'broken' any previous permission, everything is intact but from now onwards you can not simply add a permission to whole document library and expect that permission to be applied to every child items.

  • 1
    Yes, the key thing is to parse the grammar correctly. You're not breaking the role, you're breaking the inheritance. Nov 19, 2012 at 19:46

BreakRoleInheritance(true) will copy the permissions from the parent as a starting point (from which you can then add/remove permissions, as you would when setting permissions in the UI), BreakRoleInheritance(false) will not.

However, if you later change permissions on the parent, these changes will not be reflected in the item, it is a copy of the permissions at the time inheritance was broken not some kind of link.

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.