业务案例: 每次权限继承被破坏时,我都需要在我的 SharePoint 环境中发生某些自定义操作(通过代码)。
详细信息:如果用户单击“站点设置”->“站点权限”->“停止继承权限”,我需要调用一个自定义代码,以便可以执行某些操作,例如更改组名称、在全局列表中添加条目等...
甚至 Receiver 在 SharePoint 2013 中也不是新功能。它们确实存在于早期版本的 SharePoint 中。但它们仍然受到限制,我看不到用户单击该按钮的操作(即停止继承权限)会触发它们。我可以捕获“Updated”事件并以编程方式检查权限继承是否被破坏,但每次都会触发,这对我来说是肮脏的解决方案。
如果上述方法不可行,那么还有哪些其他可能的替代方案? 我知道的一个是 - 隐藏“停止继承权限”并创建一个自定义权限,这将使我实现上述业务案例。但我想尽可能减少自定义编码。
最佳答案
在我发布问题的同一天找到了答案。
SharePoint 确实提供了需要事件接收器的 SPSecurityEventReceiver 类。 (1) InheritanceBreaking (2) InheritanceBroken (3) InheritanceReset 在我的例子中。
希望对某人有帮助!
关于 "Stop Inheriting Permissions"功能的 SharePoint 2013 事件接收器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24619180/