Я хотел бы обнаружить изменение разрешения (в C #) для различных документов в моем SharePoint (веб-сайт 2016 года), и я видел много разных приемников событий, но я не понимаю, какое событие может соответствовать моим потребностям?
Я видел такие вещи только для разрешений на изменение, но не для обнаружения изменений как событие слушателя:
public override void ItemUpdated(SPItemEventProperties properties)
{
base.ItemUpdated(properties);
if (properties.ListTitle.Equals("Documents"))
{
using (SPSite site = new SPSite(properties.WebUrl))
{
site.AllowUnsafeUpdates = true;
using (SPWeb web = site.OpenWeb())
{
SPUser user = web.CurrentUser;
SPSecurity.RunWithElevatedPrivileges(delegate()
{
try
{
web.AllowUnsafeUpdates = true;
SPListItem li = properties.ListItem;
SPFile lf = web.GetFile(li.Url);
SPRoleType read = SPRoleType.Reader;
li.BreakRoleInheritance(false);
while (li.RoleAssignments.Count > 0)
{
li.RoleAssignments.Remove(0);
}
AssignPermissionsToItem(li, user, read);
web.AllowUnsafeUpdates = false;
}
catch (Exception ex){ }
});
}
}
}
}
Все события, которые я видел:
https://www.abelsolutions.com/sharepoint-event-receivers/
Любая помощь будет приветствоваться!