2
votes

Business Case : Every time Permission Inheritance is broken, I need certain custom things (through code) to happen on my SharePoint environment.

Details: If user clicks on Site Settings -> Site Permissions -> "Stop Inheriting Permissions", I need a custom code called so that certain actions can be performed like changing the group name, make an entry in the global list etc...

Image : http://i.stack.imgur.com/z2eo6.png

Even Receivers are not new in SharePoint 2013. They did exist in previous versions of SharePoint. But they are still limited and I could not see one which gets triggered with users' action of clicking that button i.e. Stop Inheriting Permissions. I can capture "Updated" event and check programmatically if permission inheritance was broken but that will fire every time which to me is dirty solution.

If above is not possible then what are other possible alternatives ? One I know is - Hide "Stop Inheriting Permissions" and create a custom one which will let me achieve above Business Case. But I want to minimize custom coding as much as possible.

1

1 Answers

2
votes

Found out an answer the same day I posted the question.

SharePoint does offer class SPSecurityEventReceiver which has required Event Receivers. (1) InheritanceBreaking (2) InheritanceBroken (3) InheritanceReset in my case.

Hope that helps someone !